数据库
首页 > 数据库> > Redis的队列和消息队列的区别【concept】

Redis的队列和消息队列的区别【concept】

作者:互联网

Redis 队列

用redis作为队列效率高,而且简单易用

使用场景

Redis 消息队列

主要应用在网络中实现异步任务,Reids可以充当消息队列实现两种模式:生产者 ->消费者,发布者->订阅者 第一种方式是一对一,后者是一对多

生产者/消费者模型

生产者模型需要存在生产者和消费者两方,而在redis中队列的存储和获取可以作为消息队列被生产者和消费者使用

生产者

redis 在其中做缓存的作用,将任放置到queue队列里面,其实redis有lpush和rpush,意思是从左边插入列队还是右边插入列队,这就是生产者部分,将任务插入指定的队列中。

消费者

简单的说就是拿出来(BRPOP,RPOP),队列是按顺序取任务的,一般是左边插入,右边取出,redis有BRPOP和RPOP,可以设置时间以秒为单位,如果队列是空的,那么先不返回,
等待一会(设置的时间【BRPOP queue 10】,等待10秒),如果在这期间有新的任务插入,那么就取出任务返回,还是没有的话,返回空。

订阅/发布模型简单来说是由发布者向订阅者发送任务,同样任何订阅者都可以获取任务。

发布者使用publish channel task 来发布相关的任务,而订阅者则是使用subscribe channel,这是一个监听命令,redis会一直监听这个channel,如果发布者发布新的任务,
监听命令会返回任务,直到订阅者主动退出监听,但是redis也可以为这个设置超时,保证监听的有效性,默认如果60秒内没收到信息就异常退出,当然了这个可以配置。

Redis队列功能介绍

常用命令:

标签:订阅,concept,队列,redis,元素,Redis,列表
来源: https://www.cnblogs.com/xinzaiyuan/p/12195591.html