如何在条目驱逐事件发生时在持久层中使Hazelcast MapStore删除条目

时间:2020-06-28 11:32:41

标签: hazelcast

我希望从缓存中逐出Hazelcast映射的持久层(数据库)中的条目时,将其删除。但是正如我观察到的那样,仅当我直接从缓存中删除条目时,才会调用MapStore的delete函数。有什么办法将MapStore.delete()与entryEvicted事件绑定?

1 个答案:

答案 0 :(得分:0)

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

话虽如此,如果您真的想要这样做,则可能应该看看Entry Listeners。您可以侦听条目驱逐,然后执行所需的任何逻辑,例如删除条目。请仔细考虑您所做的操作对性能的影响。

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