redis 实现消息队列

最近工作中利用Redis的list实现了消息队列。实现逻辑很简单,下面简单介绍list的操作。

list 介绍

Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)
一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。

list 实现队列

通过前面list的介绍,我们可以知道list的存储量用来做消息队列绝对是够的,它是按照插入顺序排序的,且可以从列表的两头进行操作。
再来看队列的概念,队列是FIFO先进先出,那么我们可以用list的lpush(左近)和rpop(右出)来保证list中的元素先进先出。效果如下:
不熟悉list操作命令的可以看菜鸟教程-Redis list用法

# 往key为mylist的列表从左边(前面)依次塞入三个元素
127.0.0.1:6379> lpush mylist zhangsan lisi wangwu
(integer) 3
# 查看key为mylist的列表的所有元素
127.0.0.1:6379> lrange mylist 0 -1
1) "wangwu"
2) "lisi"
3) "zhangsan"
# 从右边(后面)弹出一个元素
127.0.0.1:6379> rpop mylist
"zhangsan"
#再次查看mylist的所有元素
127.0.0.1:6379> lrange mylist 0 -1
1) "wangwu"
2) "lisi"
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Redis实现轻量级的消息队列与消息中间件相比,没有高级特性也没有ACK保证,无法做到数据不重不漏,如果业务简单而...
    JunChow520阅读 39,526评论 3 11
  • 原文链接:Redis实现消息队列的方案 Redis作为内存中的数据结构存储,常用作数据库、缓存和消息代理。它支持数...
    这个ID狠温柔阅读 101,342评论 2 28
  • 原文作者:遇事冷静,脸小三分原文地址:原文链接摘抄申明:我们不占有不侵权,我们只是好文的搬运工!转发请带上原文申明...
    Hey_Shaw阅读 1,065评论 0 2
  • 本文讲述的是如何用redis实现消息队列的2中模式。 包含以下内容: 生产/消费模式 发布/订阅模式 一、生产/消...
    阿坤的博客阅读 1,067评论 0 3
  • 黄刺玫花开, 太阳照上苍。 今天上午狂, 一早出太行。 打了原子弹, 拜会大夫忙。 床位实在少, 住院泡了汤。 遂...
    退休人老高阅读 351评论 0 1