最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

全球焦点!为什么不建议用redis做消息队列

来源:博客园


(资料图)

redis的list做队列其实还是很爽的,简单,一个读一个写即可,而且基本每个系统都会使用redis,接入没有附加成本,也没有额外的学习成本。

如果需要订阅模型,写三个队列,然后三个消费者分别读自己的那个即可。

但是,也有一些问题:

  1. 无法回放,消费了即消失,没有记录。
  2. 消息体如果很大,会占用很多内存。
  3. 消费者如果很慢,或者异常了,或者流量突然增大,会导致redis内存占用突增,甚至直接OOM.
  4. 内存很贵。其他的消息队列往往用的磁盘,成本低很多。
  5. redis本身对流量密集的场景支持并没有那么友好。

所以,当我们的队列信息很多、或者消息体很大的情况下,建议用其他消息队列,而不是直接用redis。

关键词: