ehCache:删除带前缀的密钥

时间:2015-03-30 06:44:07

标签: ehcache ehcache-bigmemory

我在我的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'持久战略。

0 个答案:

没有答案