我已经使用mongodb为我的应用程序构建了Redis缓存层。 我担心缓存失效,因为update命令可以通过各种方式提交给mongodb,例如通过id,代码,名称...等进行更新
我们如何找到相关的缓存资源以进行相应的更新?
我已经尝试过使用mongodb的“流更改”功能来驱逐缓存,但是由于mongodb为每个更改流打开新连接(因此,请参考issue),导致性能下降/ p>
例如:
答案 0 :(得分:1)
1 /无论是通过代码和mongodb驱动程序完成CRUD操作的一部分,redis操作都是快速的,并且不会严重影响性能。因此,只要您在代码中执行mongodb操作,就可以使Redis结构无效或修改。
2 /如果您想保持系统独立性,我建议您通过 debezium 收听收集和文档更改,该更改会将更改事件发布到Kafka主题中。 kafka主题的使用者可以读取事件并相应地修改缓存。 https://debezium.io/docs/connectors/mongodb/