关于redis订阅可以参考:redis订阅
首先创建两个py文件,一个用于订阅并监听(server.py),另一个用于发送信息(client.py)
server.py
import redis
def redis_listen():
rcon=redis.StrictRedis(host='127.0.0.1')
p=rcon.pubsub()
p.subscribe('redischat')#订阅
#监听
for i in p.listen():
if i['type']=='message':
print("Get redis:",i['data'].decode('utf-8'))
tt=i['data'].decode('utf-8')
if int(tt)>5:
print("filter:",tt)
if __name__ == '__main__':
print("listen")
redis_listen()
client.py
import redis
def redis_pub(cha, msg):
conn = redis.StrictRedis()
# 发布信息
conn.publish(cha, msg)
if __name__ == '__main__':
for i in range(10):
print("send message:",i)
redis_pub('redischat',i)
先运行server.py开启监听,然后运行client.py发送信息
最终运行结果为:
client.py
send message: 0
send message: 1
send message: 2
send message: 3
send message: 4
send message: 5
send message: 6
send message: 7
send message: 8
send message: 9
server.py
listen
Get redis: 0
Get redis: 1
Get redis: 2
Get redis: 3
Get redis: 4
Get redis: 5
Get redis: 6
filter: 6
Get redis: 7
filter: 7
Get redis: 8
filter: 8
Get redis: 9
filter: 9