本文整理了Java中com.github.benmanes.caffeine.cache.Caffeine.expireAfter()
方法的一些代码示例,展示了Caffeine.expireAfter()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Caffeine.expireAfter()
方法的具体详情如下:
包路径:com.github.benmanes.caffeine.cache.Caffeine
类名称:Caffeine
方法名:expireAfter
[英]Specifies that each entry should be automatically removed from the cache once a duration has elapsed after the entry's creation, the most recent replacement of its value, or its last read. The expiration time is reset by all cache read and write operations (including Cache.asMap().get(Object) and Cache.asMap().put(K, V)), but not by operations on the collection-views of Cache#asMap.
Expired entries may be counted in Cache#estimatedSize(), but will never be visible to read or write operations. Expired entries are cleaned up as part of the routine maintenance described in the class javadoc.
[中]指定在创建条目、最近一次替换其值或最后一次读取之后,一旦持续时间已过,则应自动从缓存中删除每个条目。过期时间由所有缓存读写操作(包括cache.asMap())重置。获取(对象)和缓存。asMap()。put(K,V)),但不是通过对Cache#asMap的集合视图进行操作。
过期的条目可能会在缓存#estimatedSize()中计数,但对读写操作而言永远不会可见。过期条目将作为javadoc类中描述的日常维护的一部分进行清理。
代码示例来源:origin: ben-manes/caffeine
@Test(expectedExceptions = IllegalStateException.class)
public void expireAfterAccess_expiry() {
Caffeine.newBuilder().expireAfter(expiry).expireAfterAccess(1, TimeUnit.MILLISECONDS);
}
代码示例来源:origin: ben-manes/caffeine
@Test(expectedExceptions = IllegalStateException.class)
public void expireAfter_write() {
Caffeine.newBuilder().expireAfterWrite(1, TimeUnit.MILLISECONDS).expireAfter(expiry);
}
代码示例来源:origin: ben-manes/caffeine
@Test(expectedExceptions = IllegalStateException.class)
public void expireAfter_twice() {
Caffeine.newBuilder().expireAfter(expiry).expireAfter(expiry);
}
代码示例来源:origin: ben-manes/caffeine
builder.expireAfter(expiry);
代码示例来源:origin: ben-manes/caffeine
builder.expireAfter(context.expiry);
代码示例来源:origin: ben-manes/caffeine
@Test(expectedExceptions = IllegalStateException.class)
public void expireAfterWrite_expiry() {
Caffeine.newBuilder().expireAfter(expiry).expireAfterWrite(1, TimeUnit.MILLISECONDS);
}
代码示例来源:origin: ben-manes/caffeine
@Test(expectedExceptions = IllegalStateException.class)
public void expireAfter_access() {
Caffeine.newBuilder().expireAfterAccess(1, TimeUnit.MILLISECONDS).expireAfter(expiry);
}
代码示例来源:origin: ben-manes/caffeine
@Test(expectedExceptions = NullPointerException.class)
public void expireAfter_null() {
Caffeine.newBuilder().expireAfter(null);
}
代码示例来源:origin: com.github.ben-manes.caffeine/caffeine
builder.expireAfter(expiry);
代码示例来源:origin: ben-manes/caffeine
@Test(expectedExceptions = IllegalStateException.class)
public void expireAfterWrite_duration_expiry() {
Caffeine.newBuilder().expireAfter(expiry).expireAfterWrite(Duration.ofMillis(1));
}
代码示例来源:origin: ben-manes/caffeine
@Test(expectedExceptions = IllegalStateException.class)
public void expireAfterAccess_duration_expiry() {
Caffeine.newBuilder().expireAfter(expiry).expireAfterAccess(Duration.ofMillis(1));
}
代码示例来源:origin: ben-manes/caffeine
@Test
public void expireAfter() {
Caffeine<?, ?> builder = Caffeine.newBuilder().expireAfter(expiry);
assertThat(builder.expiry, is(expiry));
builder.build();
}
代码示例来源:origin: ben-manes/caffeine
/** Configures the write expiration and returns if set. */
private boolean configureExpireVariably() {
config.getExpiryFactory().ifPresent(factory -> {
Expiry<K, V> expiry = factory.create();
caffeine.expireAfter(new Expiry<K, Expirable<V>>() {
@Override public long expireAfterCreate(K key, Expirable<V> expirable, long currentTime) {
return expiry.expireAfterCreate(key, expirable.get(), currentTime);
}
@Override public long expireAfterUpdate(K key, Expirable<V> expirable,
long currentTime, long currentDuration) {
return expiry.expireAfterUpdate(key, expirable.get(), currentTime, currentDuration);
}
@Override public long expireAfterRead(K key, Expirable<V> expirable,
long currentTime, long currentDuration) {
return expiry.expireAfterRead(key, expirable.get(), currentTime, currentDuration);
}
});
});
return config.getExpireAfterWrite().isPresent();
}
代码示例来源:origin: alibaba/jetcache
final boolean isExpireAfterAccess = config.isExpireAfterAccess();
final long expireAfterAccess = config.getExpireAfterAccessInMillis();
builder.expireAfter(new Expiry<Object, CacheValueHolder>() {
private long getRestTimeInNanos(CacheValueHolder value) {
long now = System.currentTimeMillis();
代码示例来源:origin: org.apereo.cas/cas-server-support-saml-idp-metadata
public SamlRegisteredServiceDefaultCachingMetadataResolver(final long metadataCacheExpirationMinutes,
final SamlRegisteredServiceMetadataResolverCacheLoader loader) {
this.chainingMetadataResolverCacheLoader = loader;
this.cache = Caffeine.newBuilder()
.maximumSize(MAX_CACHE_SIZE)
.expireAfter(new SamlRegisteredServiceMetadataExpirationPolicy(metadataCacheExpirationMinutes))
.build(this.chainingMetadataResolverCacheLoader);
}
代码示例来源:origin: com.github.ben-manes.caffeine/jcache
/** Configures the write expiration and returns if set. */
private boolean configureExpireVariably() {
config.getExpiryFactory().ifPresent(factory -> {
Expiry<K, V> expiry = factory.create();
caffeine.expireAfter(new Expiry<K, Expirable<V>>() {
@Override public long expireAfterCreate(K key, Expirable<V> expirable, long currentTime) {
return expiry.expireAfterCreate(key, expirable.get(), currentTime);
}
@Override public long expireAfterUpdate(K key, Expirable<V> expirable,
long currentTime, long currentDuration) {
return expiry.expireAfterUpdate(key, expirable.get(), currentTime, currentDuration);
}
@Override public long expireAfterRead(K key, Expirable<V> expirable,
long currentTime, long currentDuration) {
return expiry.expireAfterRead(key, expirable.get(), currentTime, currentDuration);
}
});
});
return config.getExpireAfterWrite().isPresent();
}
代码示例来源:origin: com.erudika/para-server
/**
* Default constructor.
*/
public CaffeineCache() {
cache = Caffeine.newBuilder()
.maximumSize(Config.getConfigInt("caffeine.cache_size", 10000))
.expireAfter(new Expiry<String, Object>() {
public long expireAfterCreate(String key, Object value, long currentTime) {
return TimeUnit.MINUTES.toNanos(DEFAULT_EXPIRATION_MIN);
}
public long expireAfterUpdate(String key, Object value, long currentTime, long currentDuration) {
return currentDuration;
}
public long expireAfterRead(String key, Object value, long currentTime, long currentDuration) {
return currentDuration;
}
})
.build();
}
代码示例来源:origin: Erudika/para
/**
* Default constructor.
*/
public CaffeineCache() {
cache = Caffeine.newBuilder()
.maximumSize(Config.getConfigInt("caffeine.cache_size", 10000))
.expireAfter(new Expiry<String, Object>() {
public long expireAfterCreate(String key, Object value, long currentTime) {
return TimeUnit.MINUTES.toNanos(DEFAULT_EXPIRATION_MIN);
}
public long expireAfterUpdate(String key, Object value, long currentTime, long currentDuration) {
return currentDuration;
}
public long expireAfterRead(String key, Object value, long currentTime, long currentDuration) {
return currentDuration;
}
})
.build();
}
代码示例来源:origin: org.apereo.cas/cas-server-core-tickets-api
public CachingTicketRegistry(final CipherExecutor cipherExecutor, final LogoutManager logoutManager) {
super(cipherExecutor);
this.storage = Caffeine.newBuilder()
.initialCapacity(INITIAL_CACHE_SIZE)
.maximumSize(MAX_CACHE_SIZE)
.expireAfter(new CachedTicketExpirationPolicy()).removalListener(new CachedTicketRemovalListener())
.build(s -> {
LOGGER.error("Load operation of the cache is not supported.");
return null;
});
this.mapInstance = this.storage.asMap();
this.logoutManager = logoutManager;
}
代码示例来源:origin: Adobe-Consulting-Services/acs-aem-commons
private Cache<CacheKey, MemCachePersistenceObject> buildCache() {
return Caffeine.newBuilder()
.maximumWeight(maxSizeInMb * MEGABYTE)
.weigher(new MemCacheEntryWeigher())
.expireAfter(expiryPolicy)
.removalListener(new MemCacheEntryRemovalListener())
.recordStats()
.build();
}
内容来源于网络,如有侵权,请联系作者删除!