j2cache与Spring-Cache集成以后缓存失效
集成以后发现一个问题,当服务器启动以后,读数据并存到缓存中,过一分钟,ehcache缓存失效以后,再次读取,没有直接从缓存中读取数据,而是从数据库中读取,并保存在了缓存中。
debug代码发现,Redis的evict方法被调用了。
另外,将服务器重启,ehcache缓存就失效,数据是从redis中读取的,而不是从数据库中。说明redis二级缓存是能够使用的。
现在就是不知道ehcache在get的时候为什么会触发缓存超时,为什么会把Redis二级缓存给清除掉。
<defaultCache maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="60" timeToLiveSeconds="120" overflowToDisk="true"> <!-- cacheEventListenerFactory class="net.oschina.j2cache.ehcache.EhCacheEventListenerFactory"/--> </defaultCache>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是j2cache本身的机制。就是这样,没办法,不希望这种机制就只能改源码了
自己顶先