作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要一个简单的缓存来在内存中存储具有一定生存时间的元组。我在 EHcache 网站上找不到这样做的方法,该网站主要包含复杂的使用场景。谁能帮帮我?
附言我不使用 Spring。
最佳答案
CacheManager cacheManager = initCacheManager();
CacheConfiguration cacheConfiguration = new CacheConfiguration().name("myCache")
.maxEntriesLocalHeap(100)
.timeToLiveSeconds(20);
cacheManager.addCache(new Cache(cacheConfiguration));
<cache name="myCache"
maxEntriesLocalHeap="100"
timeToLiveSeconds="20"/>
元素
Ehcache 2.x 允许您覆盖每个 Element
的过期设置:
Element element = new Element("key", "value");
element.setTimeToLive(10);
cache.put(element);
CacheManager cacheManager = initCacheManager();
CacheConfigurationBuilder<Long, String> configuration =
CacheConfigurationBuilder.newCacheConfigurationBuilder(Long.class, String.class, ResourcePoolsBuilder
.heap(100))
.withExpiry(Expirations.timeToLiveExpiration(new Duration(20, TimeUnit.SECONDS)));
cacheManager.createCache("myCache", configuration);
在 Ehcache 3 中,构建器是不可变的,可以安全地共享以从相似的配置创建多个缓存。如果您使用静态导入,代码会更紧凑,我在这里没有这样做是为了方便将此代码段粘贴到 IDE 中。
<cache alias="myCache">
<expiry>
<ttl unit="seconds">20</ttl>
</expiry>
<heap>100</heap>
</cache>
Expiry
覆盖在Ehcache 3.x中,Expiry
是用户可以实现的接口(interface):
public interface Expiry<K, V> {
Duration getExpiryForCreation(K key, V value);
Duration getExpiryForAccess(K key, ValueSupplier<? extends V> value);
Duration getExpiryForUpdate(K key, ValueSupplier<? extends V> oldValue, V newValue);
}
生存时间 匹配 getExpiryForCreation
调用,它将接收映射的键和值,允许根据映射本身实现不同的过期。
关于java - 带生存时间的 EHcache 简单示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36958656/
我每天都进行回归分析。就我而言,这通常意味着估计连续和分类预测变量对各种结果的影响。生存分析可能是我执行的最常见的分析。此类分析通常以非常方便的方式出现在期刊中。下面是一个例子: 我想知道是否有人遇到
我是一名优秀的程序员,十分优秀!