使用python的redis 实现消息的pub/sub功能

直接上代码:

首先需要明确的是,客户端向服务端去发送消息,服务端只需要订阅是哪些各频道即可,然后客户端向这些个频道发送消息

在客户端的代码:

1 #!/usr/bin/env python
2 #coding:utf-8
3 
4 import redis
5 
6 rc = redis.Redis(host='127.0.0.1')
7 rc.pubsub()
8 rc.publish('fm100','test100')
9 rc.publish('fm99','test99')

服务端的代码:

 1 #!/usr/bin/env python
 2 #coding:utf-8
 3 
 4 import redis
 5 
 6 rc = redis.Redis(host='127.0.0.1')
 7 
 8 ps = rc.pubsub()
 9 
10 ps.subscribe(['fm100','fm99'])
11 
12 while True:
13     for item in ps.listen():
14         print item

这上面是一个死循环,表示不断的监听来自客户端发送的消息

其实更类似于一个socket的实现

我们在进行分布式监控机器的各项性能的时候,可以使用上述的代码

原文地址:https://www.cnblogs.com/shangzekai/p/5220943.html