Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mongodb缓存失效策略&;雷迪斯_Mongodb_Caching_Redis - Fatal编程技术网

mongodb缓存失效策略&;雷迪斯

mongodb缓存失效策略&;雷迪斯,mongodb,caching,redis,Mongodb,Caching,Redis,我已经为使用mongodb的应用程序构建了一个redis缓存层。 我担心缓存失效,因为update命令可以以各种方式提交给mongodb,比如按id、代码、名称更新。。。等 我们如何找到相关的缓存资源进行相应更新 我已经尝试使用mongodb的“流更改”功能退出缓存,但由于mongodb为每个更改流打开新连接,我的性能降低(更喜欢这样) 例如: 我在redis中缓存id=1的顺序{id:1,代码:2,用户:3} 当应用程序更新user=3的所有订单时,我们如何知道在redis中更新相应的订单 1

我已经为使用mongodb的应用程序构建了一个redis缓存层。 我担心缓存失效,因为update命令可以以各种方式提交给mongodb,比如按id、代码、名称更新。。。等

我们如何找到相关的缓存资源进行相应更新

我已经尝试使用mongodb的“流更改”功能退出缓存,但由于mongodb为每个更改流打开新连接,我的性能降低(更喜欢这样)

例如:

  • 我在redis中缓存id=1的顺序{id:1,代码:2,用户:3}
  • 当应用程序更新user=3的所有订单时,我们如何知道在redis中更新相应的订单

  • 1/或者将其作为通过代码和mongodb驱动程序执行的CRUD操作的一部分,redis操作速度快,不会大幅度影响性能。因此,无论何时在代码中执行mongodb操作,都可以使redis结构失效或修改

    2/如果您想保持系统的独立性,我建议您通过debezium收听收集和文档更改,这将把更改事件发布到卡夫卡主题中。卡夫卡主题的使用者可以读取事件并相应地修改缓存。

    谢谢@DhruvPathak,我将尝试使用debezium