Redis 发布订阅模型-阿里云开发者社区

开发者社区> 数据库> 正文

Redis 发布订阅模型

简介:

RedisServer包含两个重要的结构: 

1. channels:实际上就是一个key-value的Map结构,key为订阅地频道,value为Client的List 

2. patterns:存放模式+client地址的列表


从pubsub_channels中找出跟publish中channel相符的clients-list,然后再去pubsub_patterns中找出每一个相符的pattern和client。向这些客户端发送publish的消息。


在程序终止或者类的实例被销毁的时候,请将订阅者实例注销掉,否则,在redis中一直存在这个订阅者。

Redis 发布端

redis 127.0.0.1:6379> PUBLISH redisChat "Redis is a great caching technique"

(integer) 1

redis 127.0.0.1:6379> PUBLISH redisChat "Learn redis by tutorials point"

Redis订阅端:

redis 127.0.0.1:6379> SUBSCRIBE redisChat

Reading messages... (press Ctrl-C to quit)

1) "subscribe"

2) "redisChat"

3) (integer) 1


现在,两个客户端都发布在同一个通道名redisChat消息及以上的订阅客户端接收消息。

发布后的消息会被多个订阅端同时接收到




本文转自 DBAspace 51CTO博客,原文链接:http://blog.51cto.com/dbaspace/1868995


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章