gpt4 book ai didi

design-patterns - 通过 redis 与推拉共享状态

转载 作者:可可西里 更新时间:2023-11-01 11:43:37 24 4
gpt4 key购买 nike

我想通过 Redis 共享具有以下要求的状态:

  1. 解耦:解耦发布者和订阅者
  2. 单一所有权:每个状态都由一个发布者设置
  3. 推送:一旦状态发生变化,必须立即通知相关订阅者
  4. 拉取:订阅者初始化后应立即拉取相关状态

如果在没有 PULL 的情况下需要 PUSH,pub\sub 将是最优的
如果在没有 PUSH 的情况下需要 PULL,一个简单的 redis 键和值就可以很好地工作

支持所有需求的最佳设计模式是什么?

最佳答案

一个解决方案是同时使用 pub\sub 来发布(推送)状态更改,并使用散列来保持订阅者可以从中读取(拉取)的每种最新发布状态

唯一的障碍是您需要按如下方式处理竞争条件:

  • 发布者应该通知然后更新状态
  • 订阅者应该先订阅再读取状态

关于design-patterns - 通过 redis 与推拉共享状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18985071/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com