首页 > 解决方案 > 如何使 Hazelcast MapStore 在条目驱逐事件中删除持久层中的条目

问题描述

我希望在从缓存中逐出该条目时删除 Hazelcast 映射的持久层(数据库)中的条目。但正如我所观察到的,只有当我直接从缓存中删除条目时,才会调用 MapStore 的删除功能。将 MapStore.delete() 与 entryEvicted 事件绑定的任何解决方案?

标签: hazelcast

解决方案


一般来说,这是非常危险的行为。通常,内存映射是缓存层,而不是使用后备存储时的“记录系统”。在系统空闲一段时间后,您可能会发现您的所有记录都已从数据库中删除。如果您要在到期时从后备存储中删除记录,那为什么还要使用后备存储呢?

话虽这么说,如果你真的想这样做,你可能应该看看入口监听器。您可以侦听条目驱逐,然后执行您想要的任何逻辑,例如删除条目。仔细考虑你正在做的事情对性能的影响。

https://docs.hazelcast.org/docs/4.0.1/manual/html-single/index.html#listening-for-map-events


推荐阅读