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、检查
![技术分享](https://image.cha138.com/20200614/cafb941bb675413fb3c626aac8d7e737.jpg)
5、登陆
#src/redis-cli
![技术分享](https://image.cha138.com/20200614/58beb2ead3c146ef91f310b3b8a4a901.jpg)
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
![技术分享](https://image.cha138.com/20200614/18d01679f1bc40b78fd272753d45a226.jpg)
存取list
![技术分享](https://image.cha138.com/20200614/d54daa4a0f0144a1b87955e843413d31.jpg)
连接池:
redis-py使用connection pool来管理对一个redis server的所有连接,避免每次建立、释放连接的开销。默认,每个Redis实例都会维护一个自己的连接池。可以直接建立一个连接池,然后作为参数Redis,这样就可以实现多个Redis实例共享一个连接池。
![技术分享](https://image.cha138.com/20200614/b1063972bec94652b6a24f921afc63ad.jpg)
Redis订阅发布功能
server端:
执行python client.py 发布消息后,server得到订阅的消息
![技术分享](https://image.cha138.com/20200614/602cee38bbba4c06a9d5ec8db392aea9.jpg)
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的消息
![技术分享](file:///C:/Users/yangmingwei/Documents/My%20Knowledge/temp/b5481d51-1eb7-49dd-a684-4d588253afcf_4_files/733b9def-a358-4caf-8458-ace42e8b3d0a.png)
![技术分享](file:///C:/Users/yangmingwei/Documents/My%20Knowledge/temp/b5481d51-1eb7-49dd-a684-4d588253afcf_4_files/f6bfe7b7-6b99-48e4-9239-95c40b429371.png)
![技术分享](https://image.cha138.com/20200614/602cee38bbba4c06a9d5ec8db392aea9.jpg)
以上是关于Redis订阅发布功能的主要内容,如果未能解决你的问题,请参考以下文章