ssm simple-spring-memcached - 缓存写不起作用

时间:2014-08-06 13:23:56

标签: java memcached simple-spring-memcached ssm

我直接使用 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来更新缓存元素。有什么指针吗?

1 个答案:

答案 0 :(得分:0)

您能否展示一下如何配置 CACHE_JOURNALS

在调用cache.put时,您已启用SSM登录以查看put命令。你能为@Cacheable做同样的事吗?让我们看一下这个对象存储在缓存中的键。

如果要更新缓存中的元素,则不必使用SSM类。您可以使用Spring注释@CachePut