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,

Другие вопросы по тегам