Я изучаю Redis, чтобы использовать его в нашем проекте. Я создал простой пример с загрузкой Spring и настроил Redis с помощью application.properties
. Я использую @Cacheable и @CacheEvict, как показано ниже:
//To save to cache:
@Cacheable(value="cache1",key="#key")
public A save(String key, A a){return a;}
//To retrieve from cache:
@Cacheable(value="cache1",key="#key")
public A retrieve(String key){return null;}
//To delete from cache:
@CacheEvict(value="cache1",key="#key")
public void delete(String key){}
Я могу сохранить данные вcache1, вызывая save (), и извлекать, вызывая retrieve (). Однако когда я вызываю команду delete для удаления ключа / данных, я не могу снова сохранить данные с тем же ключом. Хотя я могу сохранить с другим ключом.
Только после очистки кэша с помощью RedisCacheManager (redisCacheManager.getCache("cache1").clear()
) я смог сохранить с тем же ключом снова. Тем не менее, я думаю, что это не сработало последовательно.
Есть идеи, что я могу делать неправильно?
Заранее спасибо!