multilevel-cache-spring-boot-starter icon indicating copy to clipboard operation
multilevel-cache-spring-boot-starter copied to clipboard

CacheMessageListner可能会将当前节点缓存删除

Open bineanfrank opened this issue 3 years ago • 2 comments

虽然测试中出现的概率几乎为0,但是处理的逻辑确实有可能出现这种情况: 在代码逻辑中:

push(new CacheMessage(this.name, key))
caffeineCache.put(key, value)

push(new CacheMessage(this.name, key))在CacheMessageListener的回调方法中,并没有过滤掉当前节点,可能会导致当前节点的本地caffeine缓存也删除,当然,这个情况可以说几乎不存在(因为走网络和走内存几乎是走内存快),但是更加严谨的做法,应该是处理消息时,避开当前节点

bineanfrank avatar Jul 12 '21 01:07 bineanfrank

欢迎PR

lltx avatar Jul 12 '21 03:07 lltx

这是listener里面的serverId的判断的问题 message里面的serverId是Integer,manager里面的serverId是Long。类型不一致导致总是判断为false。全用Long就行了

BrighterAmmo avatar Apr 11 '23 08:04 BrighterAmmo