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