我在我的ehCache中添加了以下键。
cache.put(new Element("MyKey1", List1));
cache.put(new Element("MyKey2", List1));
cache.put(new Element("MyKey3", List1));
cache.put(new Element("MyKey4", List1));
现在我想一次删除它们。但我想借助键前缀 - " MyKey"来做到这一点。
更新
我已成功通过以下方式实现这一目标 -
public static void clearStartWith(String key){
Ehcache cache = getCache(AC.CACHE_NAME);
Query query;
Results results;
query = cache.createQuery();
query.includeKeys();
query.addCriteria(Query.KEY.ilike(key+"*")).end();
results = query.execute();
for (Result result : results.all()) {
cache.remove(result.getKey());
}
}
但问题是持久性策略 - localTempSwap不支持此功能。再次使用' localRestartable'我需要一个企业版。所以我需要使用' none'持久战略。