ehCache: удаление ключей с префиксом

Я добавил следующие ключи в мой 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' мне нужна корпоративная версия. Поэтому мне нужно использовать постоянную стратегию "нет".

0 ответов

Другие вопросы по тегам