国家与推送和分享共享通过redis拉

时间:2013-09-24 14:56:09

标签: design-patterns redis publish-subscribe

我想通过Redis分享一个符合以下要求的州:

  1. 脱钩:解除出版商和订阅者
  2. 单一所有权:每个州都由一个发布商设置
  3. 推送:一旦状态发生变化,必须立即通知相关订阅者
  4. 一旦订阅者初始化,应立即拉出相关状态
  5. 如果没有PULL pub \ sub需要PUSH将是最佳的 如果在没有PUSH的情况下需要PULL,则只需一个简单的redis键,值就可以正常工作

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

1 个答案:

答案 0 :(得分:0)

一种解决方案是使用pub \ sub发布(推送)状态更改和散列来保持订阅者可以读取的每种类型的最新发布状态(拉)

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

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