首页 > 数据库 >为什么不建议用redis做消息队列

为什么不建议用redis做消息队列

时间:2023-03-21 14:23:27浏览次数:52  
标签:为什么 建议 队列 占用 redis 消息 内存

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

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

但是,也有一些问题:

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

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

标签:为什么,建议,队列,占用,redis,消息,内存
From: https://www.cnblogs.com/HappyTeemo/p/17239863.html

相关文章

  • 消息队列简介
    什么是消息队列消息队列是一种异步的服务间通信方式,适用于无服务器和微服务架构。消息在被处理和删除之前一直存储在队列上。每条消息仅可被一位用户处理一次。消息队列......
  • nodejs获取redis集合内容,同步方法
    可以使用redis模块来连接和操作Redis数据库。以下是使用该模块获取Redis集合内容的同步方法://引入redis模块constredis=require('redis');//创建redis客户端const......
  • Redis的五种数据类型及其应用场景
    1、数据类型String(字符串,整数,浮点数):做简单的键值对缓存List(列表):储存一些列表类型的数据结构Hash(哈希):包含键值对的无序散列表,结构化的数据Set(无序集合):交集,并集......
  • 传统架构 vs 云原生架构,谈谈为什么我们需要云原生架构?
    传统架构vs云原生架构,谈谈为什么我们需要云原生架构?云原生架构是什么回顾过去十年,数字化转型驱动着技术创新和商业元素的不断融合和重构,可以说,现在已经不是由商业......
  • RabbitMQ消息队列搭建以及迁移
    一、RabbitMQ框架rabbitmq系统架构图通过路由将交换机和队列进行绑定,从而实现消息的发送和接收rabbitmq基本概念1、Message(消息)消息是不......
  • 为什么Redis不直接使用C语言的字符串?看完直接吊打面试官!
    众所周知Redis有以下几种常见的数据类型String(字符串)、List(列表)、Set(集合)、Hash(哈希)、Sortedset(有序集合)、Stream(流)、Geo(地理空间索引)、Bitmap(位图)、HyperLogLog(基数统计......
  • Redis——Redis扩展应用与实战
    摘要主要是介绍了的redis的哨兵机制以及底层原理。哨兵模式(raft)与Zookeeper模式(zab)选主的总结Redis中的Sentinel选主相对来说更简单,因为不涉及事务状态的一致性Sentinel选......
  • redis前言
    已经忘记是什么时候开始接触Redis了,我们使用一个技术往往从业务需要开始的。从OA转入CICD项目,架构师给了重构方案,给了时间点,jarlor5+mysql改为Openresy+Lua+Redis搞定OS......
  • 【Azure Redis 缓存】Redission客户端连接Azure:客户端出现 Unable to send PING comma
    问题描述Redission客户端连接Azure:客户端出现UnabletosendPINGcommandoverchannel...... io.netty.channel.StacklessClosedChannelException:null atio.nett......
  • 你来说说Redis两种持久化方式的优缺点
    redis两种持久化的方式RDB持久化可以在指定的时间间隔内生成数据集的时间点快照AOF持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原......