Redis的订阅消息队列能否查看消息历史?

如题,如果我publish或者subscribe了一个channel,那么当我向这个channel里发布一条消息,所有的subscriber都会收到——这个没问题。
但是我如何知道自己是否漏了消息,或者说,我在新订阅后,能否查到过去channel里的消息呢?
以及,这是不是一个伪需求。

阅读 8k
2 个回答

这种属于服务质量,你可以看看 mosquito 的 qos ;
需求伪不伪不能直接说,要看应用场景,比如扣钱这种肯定是要求必须收到消息了,日志消息如果为了性能考虑也可以丢了就丢了;
redis 不是专业的消息队列,是没有这种保证的,不知道以后会不会加,如果非要用可以结合使用list来保障

你要是需要这种需求就不建议使用 Redis 的订阅发布了,建议使用ActiveMQ、KAFKA等专业的消息中间件了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进