我直接使用 SSMCache#put API获取缓存并更新密钥。
我最初使用spring-cache annotated方法从缓存中读取了值。
@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来更新缓存元素。有什么指针吗?
答案 0 :(得分:0)
您能否展示一下如何配置 CACHE_JOURNALS ?
在调用cache.put时,您已启用SSM登录以查看put命令。你能为@Cacheable
做同样的事吗?让我们看一下这个对象存储在缓存中的键。
如果要更新缓存中的元素,则不必使用SSM类。您可以使用Spring注释@CachePut
。