hazelcast - 如何使 Hazelcast MapStore 在条目驱逐事件中删除持久层中的条目
问题描述
我希望在从缓存中逐出该条目时删除 Hazelcast 映射的持久层(数据库)中的条目。但正如我所观察到的,只有当我直接从缓存中删除条目时,才会调用 MapStore 的删除功能。将 MapStore.delete() 与 entryEvicted 事件绑定的任何解决方案?
解决方案
一般来说,这是非常危险的行为。通常,内存映射是缓存层,而不是使用后备存储时的“记录系统”。在系统空闲一段时间后,您可能会发现您的所有记录都已从数据库中删除。如果您要在到期时从后备存储中删除记录,那为什么还要使用后备存储呢?
话虽这么说,如果你真的想这样做,你可能应该看看入口监听器。您可以侦听条目驱逐,然后执行您想要的任何逻辑,例如删除条目。仔细考虑你正在做的事情对性能的影响。
https://docs.hazelcast.org/docs/4.0.1/manual/html-single/index.html#listening-for-map-events
推荐阅读
- javascript - 奇怪的解构赋值,给出未定义
- angular - 如何从 Firebase 检索对象的 id 并存储每个对象?
- simple-peer - peer.on('stream', stream => {}) 没有被提出
- flutter - Flutter 正确构建 TabBarView 子项
- docker - 我在哪里可以找到 docker 上的 portainer.io 日志?
- python - 遇到错误后如何在python上重新运行代码?
- python - 保存到文本文件时防止分割线
- java - 我需要帮助来实现特定的休眠继承映射
- c++ - boost::asio 如何从客户端发送字符串数据并将其存储在服务器端进行处理
- php - laravel 单元测试错误'在 null 上调用成员函数 call()'