Redis发布/订阅最佳实践

时间:2018-08-22 11:11:04

标签: performance redis publish-subscribe

我正在使用Redis pub / sub在两个或多个节点进程之间编写p2p通信
 使用ioredis lib。

我将发布不同类型的消息,例如:

  • 你好:让其他订阅者知道新进程已连接
  • 想要选择:让一个过程向其他人询问过程是否需要“工作”
  • 选择:作为通知其他进程的确认

我不知道redis v3.2.1订阅多个频道(每种消息类型一个)还是创建单个频道并发送带有定义消息类型的属性的json消息是否更好? :

{type: 'hello', message: 'hello i'm process foo' }

{type: 'wanna-pick', message: 'foo wanna pick work 42' }

预先感谢

1 个答案:

答案 0 :(得分:1)

两种解决方案都很好。我认为这两种解决方案之间没有任何性能差异。如果您确实有太多通道,则可能会使Redis占用更多内存。但是,这应该不成问题。如果您愿意的话,可以做一些基准测试。

个人而言,我更喜欢第二种解决方案,即单一渠道。使用单个频道,当您添加或删除类型时,客户端不需要订阅新频道或取消订阅已删除的频道。尽管那没什么大不了。