Redis订阅发布功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis订阅发布功能相关的知识,希望对你有一定的参考价值。

Redis安装使用
1、下载Redis:http://redis.io/download
2、解压安装:
        #tar zxf redis-3.0.6.tar.gz
        #make                             
3、启动
        #cd /usr/local/src/redis-3.0.6  
        #src/redis-server &
4、检查
技术分享
 
5、登陆
        #src/redis-cli
        技术分享
       
6、常用命令
           set name ‘yangmv‘        存数据
           get name                        取数据
           
            set name ‘nb‘ EX 10        存数据,并设置超时时间为10秒
 
            lpush  name_list  ‘shanghai‘ ‘beijing‘        存一个list,倒序
            rpush  name_list  ‘shanghai‘ ‘beijing‘        rpush列表正序
            lrange name_list  0 2                                    根据下标取值    0 -1查看所有
 
            save                                            保存数据到硬盘
            keys *                                        查看所有数据
 
python 操作Redis
安装python redis模块
wget https://pypi.python.org/packages/source/r/redis/redis-2.9.1.tar.gz
tar zxfredis-2.9.1.tar.gz
cdredis-2.9.1
python setup.pyinstall  
 
技术分享
存取list
技术分享
 
连接池:
redis-py使用connection pool来管理对一个redis server的所有连接,避免每次建立、释放连接的开销。默认,每个Redis实例都会维护一个自己的连接池。可以直接建立一个连接池,然后作为参数Redis,这样就可以实现多个Redis实例共享一个连接池。
技术分享
 
 


Redis订阅发布功能

server端:
import redis
class RedisHelper:
    def __init__(self):
        self.__conn = redis.Redis(host=‘127.0.0.1‘)
        self.chan_sub = ‘fm87.7‘
    def subscribe(self):
        pub = self.__conn.pubsub()
        pub.subscribe(self.chan_sub)
        pub.parse_response()
        return pub
if __name__ == ‘__main__‘:
    r = RedisHelper()
    recv = r.subscribe()            #订阅fm87.7频道
    while True:                     #循环监听接收
        print recv.parse_response()     #监听该频道,并接收客户端的消息 
client端:
import redis
class RedisHelper:
    def __init__(self):
        self.__conn = redis.Redis(host=‘127.0.0.1‘)
        self.chan_pub = ‘fm87.7‘
    def public(self,msg):   #发布内容到fm87.7频道
        self.__conn.publish(self.chan_pub, msg)
        return True
if __name__ == ‘__main__‘:
    t = RedisHelper()
    t.public(‘test‘)        #test为发布的内容 
server订阅fm87.7的消息

 技术分享 

技术分享执行python client.py 发布消息后,server得到订阅的消息
技术分享
技术分享



以上是关于Redis订阅发布功能的主要内容,如果未能解决你的问题,请参考以下文章

Redis发布订阅功能介绍,生产场景使用及性能测试

redis发布订阅模式

Redis实现不可靠发布/订阅功能

springboot 整合使用redis发布订阅功能

架构设计:系统存储(16)——Redis事件订阅和持久化存储

Redis学习九:Redis的发布订阅