基于redis(订阅发布)实现python和java进程间通信
主要结构为: python进程发布消息,java进程订阅消息。
依赖环境:
python: pip install redis
java: jedis
1. python端:
PubSub.py
import redis class PubSub(object): def __init__(self, host, port, db): self.__conn = redis.Redis(host, port, db) def publish(self, channel, msg): self.__conn.publish(channel, msg) return True def subscribe(self, channel): pub = self.__conn.pubsub() pub.subscribe(channel) pub.parse_response() return pub
sub.py
from PubSub import PubSub obj = PubSub('localhost', 6379, 1) redis_sub = obj.subscribe('cord') while True: msg = redis_sub.parse_response() msg = msg[2].decode() print(msg)
2. java端
RedisPub.java
import redis.clients.jedis.Jedis;
import java.util.Date;
public class RedisPub {
private static Jedis jedis = new Jedis("localhost",6379);
private static final String channel = "cord";
public static void main(String[] args){
String message = new Date().toString();
jedis.publish(channel, message);
}
}
参考链接:
http://www.cnblogs.com/melonjiang/p/5342383.html