1

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」を使用するには、エンタープライズ バージョンが必要です。したがって、「なし」の永続化戦略を使用する必要があります。

4

0 に答える 0