Redis pubsub和Twitter就像新闻源一样



我检查了 Redis 发布/订阅功能,乍一看它看起来非常适合形成 Twitter 提要之类的东西。但是,我试图在谷歌上搜索 Redis 发布/订阅和新闻源,但我几乎找不到任何关于此的示例或用例。如果 Redis 实际上对此不利,那么缺点是什么?

首先,Redis 发布/订阅不是一个数据存储,而只是一个数据流通道。

例如(按时间顺序

  1. 创建名为 news:feed 的通道
  2. 用户 A 加入news:feed
  3. 用户 B 发布到news:feed

此方案工作正常。但以下情况并非如此:

  1. 创建名为 news:feed 的通道
  2. 用户 B 发布到news:feed
  3. 用户 A 加入news:feed

在这种情况下,用户 A 将永远不会收到用户 B 在其 (A) 加入之前发布的消息。

如果要使用发布/订阅实现新闻源,则必须创建多个频道(至少与用户一样多)。下面是一个简单的Twitter克隆的实现:http://redis.io/topics/twitter-clone

最新更新