我对EntryProcessor有一个奇怪的问题。我有一个分区缓存。其中有String作为键,有一个Object作为值。另一方面,我有一个Spring Poller,它使用cache.entrySet
从该缓存中轮询数据。一旦我得到了一组键,请尝试使用入口处理器从缓存中删除。在入口处理器的处理方法中,我检查了是否使用isPresent()
存在密钥,如果存在密钥,则使用binaryentry.remove
进行了删除。对于单节点,这看起来还不错。当我们在多节点环境中运行时,我甚至可以看到密钥甚至一次从缓存中删除,相差一毫秒,它再次进入isPresent
块中,并尝试删除密钥并返回true。>
问题:-当密钥已经从缓存中删除时,isPresent
为什么第二次返回true?
注意:-我在一台服务器上运行10个节点。在3个Unix机器上我总共有30个节点。每个节点都尝试拉同一组密钥,但是如果密钥被一个节点删除,则检查其他键。