基于redis(订阅发布)实现python和java进程间通信

时间:2023-03-08 22:26:41

主要结构为: 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