import redis
# 发布者
def publisher():
r = redis.Redis(host='localhost', port=6379, db=0)
r.publish('test_channel', 'Hello, Redis Pub/Sub!')
# 订阅者
def subscriber():
r = redis.Redis(host='localhost', port=6379, db=0)
p = r.pubsub()
p.subscribe('test_channel')
for message in p.listen():
if message['type'] =='message':
print(message['data'].decode('utf-8'))
elif message['type'] == 'psubscribe':
continue
else:
break
if __name__ == '__main__':
from threading import Thread
pub_thread = Thread(target=publisher)
sub_thread = Thread(target=subscriber)
pub_thread.start()
sub_thread.start()
pub_thread.join()
sub_thread.join()