Фрагмент кода, используемый для выделения кэш-памяти:
private static Cache cache = CacheManager.getInstance().getCache(CACHE_NAME);
public static HashMap<String, XXX> getxxCodes(int version) {
HashMap<String, XXX> xxCodes = new HashMap<String, XXX>();
try{
Object[] cacheResult = cache.get(Constants.I_XX_CODES_FOR_XXX);
if (Boolean.FALSE.equals(cacheResult[1])) {
cache.put(Constants.I_XX_CODES_FOR_XXX, id.loadXXHashMap(version));
cacheResult = cache.get(Constants.I_XX_CODES_FOR_XXX);
}
if(cacheResult[0]!=null){
xxCodes = (HashMap<String, XXX>)cacheResult[0];
}
}catch(Exception e){
logger.error("Exception occured while loading Data from I10_DRG_XX",e);
}
return xxCodes;
}
Теперь в какой-то момент мне нужно загрузить какую-то другую «версию» в кеш-память. Здесь версия может быть 1, 2, 3 и т. Д. Таким образом, в кеше сначала хранятся данные версии 1 (Hash map). Теперь, когда я передаю 2, которое недоступно в кеше, ему нужно снова загрузить определенные данные в кеш, но перед этим лучше очистить данные версии 1. Есть ли у нас такие команды, как flush для очистки определенных данных?
Надеюсь, у меня возник вопрос с вопросом. Спасибо за помощь.