美文网首页
Redis消息队列&发布订阅模式使用

Redis消息队列&发布订阅模式使用

作者: 等等ChEnH | 来源:发表于2019-10-30 17:06 被阅读0次

Redis实现消息队列原理

     Redis的列表是使用双向链表实现的,保存了头尾节点,在列表头尾两边插取元素是非常快的。可以直接使用Redis的List实现消息队列,通过指令lpush和rpop或者rpush和lpop实现消息生产和消费。

    Redis对list的操作命令中。L表示从左边(头部)开始插与弹出,R表示从右边(尾部)开始插与弹出。

左侧插入,右侧消费 右侧插入,左侧消费

Redis消息发布与订阅

打开Redis发布客户端,发布 publish channel “test1”

发布消息

这样消息就发出去了。返回值表示接收这条消息的订阅者数量。发出去的消息不会被持久化,也就是有客户端订阅channel后只能接收到后续发布到该频道的消息,之前的就接收不到了。

打开Redis订阅客户端,订阅 subscribe channel

订阅消息

    执行上面命令客户端会进入订阅状态,处于此状态下客户端不能使用除subscribe、unsubscribe、psubscribe和punsubscribe这四个属于"发布/订阅"之外的命令,否则会报错。

    进入订阅状态后客户端可能收到3种类型的回复。每种类型的回复都包含3个值,第一个值是消息的类型,根据消类型的不同,第二个和第三个参数的含义可能不同。

发布客户端再次发布消息,订阅客户端可接收到发布得消息

消息发布订阅


相关文章

网友评论

      本文标题:Redis消息队列&发布订阅模式使用

      本文链接:https://www.haomeiwen.com/subject/kitmyctx.html