例如,我想使用以下两个过期策略配置缓存:
- 触及到期政策
- CreatedExpiryPolicy
示例代码如下(Apache Ignite 版本 1.5.0.final):
public IgniteCache<String, Object> getOrCreateCache(String cacheName) {
Ignite ignite = Ignition.ignite();
CacheConfiguration<String, Object> cacheCfg = new CacheConfiguration<String, Object>(cacheName);
cacheCfg.setExpiryPolicyFactory(TouchedExpiryPolicy.factoryOf(new Duration(TimeUnit.SECONDS, 10)));
cacheCfg.setExpiryPolicyFactory(CreatedExpiryPolicy.factoryOf(new Duration(TimeUnit.SECONDS, 30)));
IgniteCache<String, Object> igniteCache = ignite.getOrCreateCache(cacheCfg);
return igniteCache;
}
然而,问题是第二个到期政策将取代第一个到期政策。想知道是否有任何方法可以配置 Ignite 缓存,以便缓存同时遵守两个到期策略?谢谢你。
顺便说一句,在 EhCache 中,我可以通过以下方式配置缓存来实现相同的目的:
<cache name="my-cache-name" ...
timeToIdleSeconds="10" timeToLiveSeconds="30"
...>
</cache>
参考: