ssm simple-spring-memcached - запись в кеш не работает
Я использую SSMCache # put API напрямую, чтобы получить кеш и обновить ключ.
Вначале я прочитал значение из кеша, используя нижеприведенный аннотированный метод кеша.
@Cacheable(value="CACHE_JOURNALS", key="#ID")
public JournalBean getJournalByID(int ID){...}
...
[INFO] (CXServiceImpl.java:sendTo:78) read: [1, xxx, yyy, 5348 ]
затем обновите поле 'bean.count' и напишите обратно.
cache.put(key, bean);
...
[INFO] (SSMCache.java:put:152) Put '[1, xxx, yyy, 5349 ]' under key 1 to cache CACHE_JOURNALS
Позже служба Spring пытается прочитать кеш (CACHE_JOURNALS), но значение bean.count не обновляется в кеше и является старым значением (5348).
Я надеюсь, что я вызываю правильный API для обновления элемента кэша. Есть указатели?
1 ответ
Не могли бы вы показать, как вы настроили CACHE_JOURNALS?
Вы включили вход в SSM, чтобы увидеть команду put при вызове cache.put. Можете ли вы сделать то же самое для @Cacheable
? Посмотрим, под каким ключом этот объект хранится в кеше.
Если вы хотите обновить элемент в кэше, вам не нужно использовать классы SSM. Вы можете использовать аннотацию Spring @CachePut
,