NutzCN Logo
问答 nutzwk缓存怎么保持L1,L2缓存同步的。
发布于 2357天前 作者 qq_64f81159 1512 次浏览 复制 上一个帖子 下一个帖子
标签: nutzwk

nutzwk我看了下说是用了一级缓存和二级缓存 一级缓存是ehcache,二级缓存是redis,我想问下这样集群环境下是否做到了session共享,还需要其他配置吗?另外怎么验证缓存起了作用,还有就就是缓存怎么保持同步。。貌似是用的redis的pub/sub模式,这里面哪一段是保证不同服务器ehcache同步的。

8 回复

要了解详情的话,看源码吧

再看中,就是看不懂啊,不知道哪里是做缓存同步的。

ehcache不做同步的,当某个key有更新操作,就通过redis的pub/sub发布通知,各实例的ehcache删除本地对应的key

好的 ,我在看看 理解理解。。。谢谢兽总!

各实例的ehcache删除本地对应的key 这段对应的代码在哪里啊
log.debugf("channel=%s, msg=%s", channel, message);
if (message.startsWith(LCacheManager.me.id))
return;
String cacheName = channel.substring(LCacheManager.PREFIX.length());
LCache cache = LCacheManager.me.caches.get(cacheName);
if (cache != null)
((Cache) cache.list.get(0)).remove(message.substring(LCacheManager.me.id.length() + 1));

感觉这段不想啊 cahe.list.get(0)不是了level2缓存吗 level1的remove在哪里呢,请兽总指点一下。

只需要清除一级缓存,二级是集群

另外,贴代码用 插入代码 按钮!

当某个key有更新操作,就通过redis的pub/sub发布通知,各实例的ehcache删除本地对应的key,这个各实例ehcache删除对应的key在哪里啊?没找到

添加回复
请先登陆
回到顶部