我在我的 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”我需要一个企业版。所以我需要使用“无”持久性策略。