LruNormalizedCache(EvictionPolicy evictionPolicy) { final CacheBuilder<Object, Object> lruCacheBuilder = CacheBuilder.newBuilder(); if (evictionPolicy.maxSizeBytes().isPresent()) { lruCacheBuilder.maximumWeight(evictionPolicy.maxSizeBytes().get()) .weigher(new Weigher<String, Record>() { @Override public int weigh(String key, Record value) { return key.getBytes(Charset.defaultCharset()).length + value.sizeEstimateBytes(); } }); } if (evictionPolicy.maxEntries().isPresent()) { lruCacheBuilder.maximumSize(evictionPolicy.maxEntries().get()); } if (evictionPolicy.expireAfterAccess().isPresent()) { lruCacheBuilder.expireAfterAccess(evictionPolicy.expireAfterAccess().get(), evictionPolicy.expireAfterAccessTimeUnit().get()); } if (evictionPolicy.expireAfterWrite().isPresent()) { lruCacheBuilder.expireAfterWrite(evictionPolicy.expireAfterWrite().get(), evictionPolicy.expireAfterWriteTimeUnit().get()); } lruCache = lruCacheBuilder.build(); }
builder.expireAfterAccess(expireAfterAccessNanos, NANOSECONDS);
static <Key, Parsed> Cache<Key, Observable<Parsed>> createCache(MemoryPolicy memoryPolicy) { if (memoryPolicy == null) { return CacheBuilder .newBuilder() .maximumSize(StoreDefaults.getCacheSize()) .expireAfterWrite(StoreDefaults.getCacheTTL(), StoreDefaults.getCacheTTLTimeUnit()) .build(); } else { if (memoryPolicy.getExpireAfterAccess() == memoryPolicy.DEFAULT_POLICY) { return CacheBuilder .newBuilder() .maximumSize(memoryPolicy.getMaxSize()) .expireAfterWrite(memoryPolicy.getExpireAfterWrite(), memoryPolicy.getExpireAfterTimeUnit()) .build(); } else { return CacheBuilder .newBuilder() .maximumSize(memoryPolicy.getMaxSize()) .expireAfterAccess(memoryPolicy.getExpireAfterAccess(), memoryPolicy.getExpireAfterTimeUnit()) .build(); } } }
LruNormalizedCache(EvictionPolicy evictionPolicy) { final CacheBuilder<Object, Object> lruCacheBuilder = CacheBuilder.newBuilder(); if (evictionPolicy.maxSizeBytes().isPresent()) { lruCacheBuilder.maximumWeight(evictionPolicy.maxSizeBytes().get()) .weigher(new Weigher<String, Record>() { @Override public int weigh(String key, Record value) { return key.getBytes().length + value.sizeEstimateBytes(); } }); } if (evictionPolicy.maxEntries().isPresent()) { lruCacheBuilder.maximumSize(evictionPolicy.maxEntries().get()); } if (evictionPolicy.expireAfterAccess().isPresent()) { lruCacheBuilder.expireAfterAccess(evictionPolicy.expireAfterAccess().get(), evictionPolicy.expireAfterAccessTimeUnit().get()); } if (evictionPolicy.expireAfterWrite().isPresent()) { lruCacheBuilder.expireAfterWrite(evictionPolicy.expireAfterWrite().get(), evictionPolicy.expireAfterWriteTimeUnit().get()); } lruCache = lruCacheBuilder.build(); }
LruNormalizedCache(EvictionPolicy evictionPolicy) { final CacheBuilder<Object, Object> lruCacheBuilder = CacheBuilder.newBuilder(); if (evictionPolicy.maxSizeBytes().isPresent()) { lruCacheBuilder.maximumWeight(evictionPolicy.maxSizeBytes().get()) .weigher(new Weigher<String, Record>() { @Override public int weigh(String key, Record value) { return key.getBytes().length + value.sizeEstimateBytes(); } }); } if (evictionPolicy.maxEntries().isPresent()) { lruCacheBuilder.maximumSize(evictionPolicy.maxEntries().get()); } if (evictionPolicy.expireAfterAccess().isPresent()) { lruCacheBuilder.expireAfterAccess(evictionPolicy.expireAfterAccess().get(), evictionPolicy.expireAfterAccessTimeUnit().get()); } if (evictionPolicy.expireAfterWrite().isPresent()) { lruCacheBuilder.expireAfterWrite(evictionPolicy.expireAfterWrite().get(), evictionPolicy.expireAfterWriteTimeUnit().get()); } lruCache = lruCacheBuilder.build(); }