Проблема с @CacheEviction и Redis Cache - PullRequest
0 голосов
/ 11 ноября 2019

Я изучаю 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()) я смог сохранить с тем же ключом снова. Тем не менее, я думаю, что это не сработало последовательно.

Есть идеи, что я могу делать неправильно?

Заранее спасибо!

...