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订阅发布功能的主要内容,如果未能解决你的问题,请参考以下文章