List of usage examples for com.google.common.cache CacheBuilder concurrencyLevel
int concurrencyLevel
To view the source code for com.google.common.cache CacheBuilder concurrencyLevel.
Click Source Link
From source file:com.davidbracewell.cache.impl.GuavaCacheUtils.java
/** * Converts a CacheSpec into a CacheBuilder * * @param specification The specification * @param <K> The key type * @param <V> The value type * @return The CacheBuilder// w w w . j av a 2 s. c o m */ public static <K, V> CacheBuilder<K, V> cacheBuilderFromSpec(CacheSpec<K, V> specification) { CacheBuilder cacheBuilder = CacheBuilder.newBuilder(); if (specification.getMaxSize() > 0) { cacheBuilder.maximumSize(specification.getMaxSize()); } if (specification.getConcurrencyLevel() > 0) { cacheBuilder.concurrencyLevel(specification.getMaxSize()); } if (specification.getInitialCapacity() > 0) { cacheBuilder.initialCapacity(specification.getInitialCapacity()); } if (specification.getExpiresAfterAccess() > 0) { cacheBuilder.expireAfterAccess(specification.getExpiresAfterAccess(), TimeUnit.MILLISECONDS); } if (specification.getExpiresAfterWrite() > 0) { cacheBuilder.expireAfterWrite(specification.getExpiresAfterWrite(), TimeUnit.MILLISECONDS); } if (specification.isWeakKeys()) { cacheBuilder.weakKeys(); } if (specification.isWeakValues()) { cacheBuilder.weakValues(); } return Cast.as(cacheBuilder); }
From source file:org.locationtech.geogig.storage.cache.SharedCache.java
@VisibleForTesting static SharedCache build(int L1capacity, long maxCacheSizeBytes) { checkArgument(L1capacity >= 0);//from w ww. j a va 2s . com checkArgument(maxCacheSizeBytes >= 0, "Cache size can't be < 0, 0 meaning no cache at all"); if (0L == maxCacheSizeBytes) { return NO_CACHE; } int initialCapacityCount = 1_000_000; int concurrencyLevel = 16; CacheBuilder<Object, Object> cacheBuilder = CacheBuilder.newBuilder(); cacheBuilder = cacheBuilder.maximumWeight(maxCacheSizeBytes); cacheBuilder.weigher(Impl.SizeTracker.WEIGHER); cacheBuilder.initialCapacity(initialCapacityCount); cacheBuilder.concurrencyLevel(concurrencyLevel); cacheBuilder.recordStats(); Impl.SizeTracker sizeTracker = new Impl.SizeTracker(); cacheBuilder.removalListener(sizeTracker); Cache<Key, byte[]> byteCache = cacheBuilder.build(); return new Impl(L1capacity, byteCache, sizeTracker); }
From source file:org.locationtech.geogig.storage.postgresql.PGCache.java
private static PGCache build(Integer initialCapacityCount, Integer concurrencyLevel2, Long maxWeightBytes, Optional<Integer> expireSeconds) { CacheBuilder<Object, Object> cacheBuilder = CacheBuilder.newBuilder(); cacheBuilder = cacheBuilder.maximumWeight(maxWeightBytes); cacheBuilder.weigher(weigher);/*from www . ja v a 2 s.c om*/ if (expireSeconds.isPresent()) { long seconds = expireSeconds.get(); Preconditions.checkArgument(seconds > -1); cacheBuilder.expireAfterAccess(seconds, TimeUnit.SECONDS); } cacheBuilder.initialCapacity(initialCapacityCount); cacheBuilder.concurrencyLevel(concurrencyLevel2); cacheBuilder.recordStats(); SizeTracker sizeTracker = new SizeTracker(); cacheBuilder.removalListener(sizeTracker); Cache<ObjectId, byte[]> byteCache = cacheBuilder.build(); return new PGCache(byteCache, sizeTracker); }
From source file:com.github.benmanes.caffeine.cache.testing.GuavaCacheFromContext.java
/** Returns a Guava-backed cache. */ @SuppressWarnings("CheckReturnValue") public static <K, V> Cache<K, V> newGuavaCache(CacheContext context) { checkState(!context.isAsync(), "Guava caches are synchronous only"); CacheBuilder<Object, Object> builder = CacheBuilder.newBuilder(); context.guava = builder;//from ww w. j a va 2 s. c om builder.concurrencyLevel(1); if (context.initialCapacity != InitialCapacity.DEFAULT) { builder.initialCapacity(context.initialCapacity.size()); } if (context.isRecordingStats()) { builder.recordStats(); } if (context.maximumSize != Maximum.DISABLED) { if (context.weigher == CacheWeigher.DEFAULT) { builder.maximumSize(context.maximumSize.max()); } else { builder.weigher(new GuavaWeigher<Object, Object>(context.weigher)); builder.maximumWeight(context.maximumWeight()); } } if (context.afterAccess != Expire.DISABLED) { builder.expireAfterAccess(context.afterAccess.timeNanos(), TimeUnit.NANOSECONDS); } if (context.afterWrite != Expire.DISABLED) { builder.expireAfterWrite(context.afterWrite.timeNanos(), TimeUnit.NANOSECONDS); } if (context.refresh != Expire.DISABLED) { builder.refreshAfterWrite(context.refresh.timeNanos(), TimeUnit.NANOSECONDS); } if (context.expires() || context.refreshes()) { builder.ticker(context.ticker()); } if (context.keyStrength == ReferenceType.WEAK) { builder.weakKeys(); } else if (context.keyStrength == ReferenceType.SOFT) { throw new IllegalStateException(); } if (context.valueStrength == ReferenceType.WEAK) { builder.weakValues(); } else if (context.valueStrength == ReferenceType.SOFT) { builder.softValues(); } if (context.removalListenerType != Listener.DEFAULT) { boolean translateZeroExpire = (context.afterAccess == Expire.IMMEDIATELY) || (context.afterWrite == Expire.IMMEDIATELY); builder.removalListener(new GuavaRemovalListener<>(translateZeroExpire, context.removalListener)); } Ticker ticker = (context.ticker == null) ? Ticker.systemTicker() : context.ticker; if (context.loader == null) { context.cache = new GuavaCache<>(builder.<Integer, Integer>build(), ticker, context.isRecordingStats()); } else if (context.loader().isBulk()) { context.cache = new GuavaLoadingCache<>( builder.build(new BulkLoader<Integer, Integer>(context.loader())), ticker, context.isRecordingStats()); } else { context.cache = new GuavaLoadingCache<>( builder.build(new SingleLoader<Integer, Integer>(context.loader())), ticker, context.isRecordingStats()); } @SuppressWarnings("unchecked") Cache<K, V> castedCache = (Cache<K, V>) context.cache; return castedCache; }
From source file:com.baidu.oped.apm.profiler.metadata.LRUCache.java
public LRUCache(int maxCacheSize) { final CacheBuilder<Object, Object> cacheBuilder = CacheBuilder.newBuilder(); cacheBuilder.concurrencyLevel(32); cacheBuilder.initialCapacity(maxCacheSize); cacheBuilder.maximumSize(maxCacheSize); Cache<T, Object> localCache = cacheBuilder.build(); this.cache = localCache.asMap(); }
From source file:com.navercorp.pinpoint.profiler.metadata.SimpleCache.java
private ConcurrentMap<T, Result> createCache(int maxCacheSize) { final CacheBuilder<Object, Object> cacheBuilder = CacheBuilder.newBuilder(); cacheBuilder.concurrencyLevel(64); cacheBuilder.initialCapacity(maxCacheSize); cacheBuilder.maximumSize(maxCacheSize); Cache<T, Result> localCache = cacheBuilder.build(); ConcurrentMap<T, Result> cache = localCache.asMap(); return cache; }
From source file:com.navercorp.pinpoint.profiler.context.active.ActiveTraceRepository.java
private ConcurrentMap<Long, ActiveTrace> createCache(int maxActiveTraceSize) { final CacheBuilder<Object, Object> cacheBuilder = CacheBuilder.newBuilder(); cacheBuilder.concurrencyLevel(64); cacheBuilder.initialCapacity(maxActiveTraceSize); cacheBuilder.maximumSize(maxActiveTraceSize); // OOM defense cacheBuilder.weakValues();//from ww w .j av a 2 s.c o m final Cache<Long, ActiveTrace> localCache = cacheBuilder.build(); return localCache.asMap(); }
From source file:com.navercorp.pinpoint.profiler.modifier.spring.beans.interceptor.TargetBeanFilter.java
private Cache<Class<?>, Object> createCache() { final CacheBuilder<Object, Object> builder = CacheBuilder.newBuilder(); builder.concurrencyLevel(CACHE_CONCURRENCY_LEVEL); builder.maximumSize(CACHE_SIZE);//www . j a v a 2s . c o m builder.weakKeys(); return builder.build(); }
From source file:com.navercorp.pinpoint.profiler.context.active.DefaultActiveTraceRepository.java
private ConcurrentMap<ActiveTraceHandle, ActiveTrace> createCache(int maxActiveTraceSize) { final CacheBuilder<Object, Object> cacheBuilder = CacheBuilder.newBuilder(); cacheBuilder.concurrencyLevel(64); cacheBuilder.initialCapacity(maxActiveTraceSize); cacheBuilder.maximumSize(maxActiveTraceSize); final Cache<ActiveTraceHandle, ActiveTrace> localCache = cacheBuilder.build(); return localCache.asMap(); }
From source file:org.nuxeo.ecm.core.cache.InMemoryCacheImpl.java
public InMemoryCacheImpl(CacheDescriptor desc) { super(desc);/*from ww w.ja v a2 s . c o m*/ CacheBuilder<Object, Object> builder = CacheBuilder.newBuilder(); builder = builder.expireAfterWrite(desc.ttl, TimeUnit.MINUTES); if (desc.options.containsKey("concurrencyLevel")) { builder = builder.concurrencyLevel(Integer.valueOf(desc.options.get("concurrencyLevel")).intValue()); } if (desc.options.containsKey("maxSize")) { builder = builder.maximumSize(Integer.valueOf(desc.options.get("maxSize")).intValue()); } cache = builder.build(); }