jedis的消息订阅和发布实例

来源:互联网 发布:2017年网络热点事件 编辑:程序博客网 时间:2024/05/17 08:31

redis做为内存数据库,性能还算可以,java连接redis通常通过jedis相关接口:redis除了数据的存储外,还有消息订阅和发布的功能:下面写了一个小实例,

本实例采用的是:jedis-2.8.0.jar的包

做了三个类,一个是消息发布类,另外两个是消息订阅类:

RedisPublish.java

package com.zyujie.redis;import redis.clients.jedis.Jedis;/** * jedis的消息订阅和发布 * @author zhouyujie */public class RedisPublish {/** * 发布消息,渠道和消息值 * @param args */public static void main(String[] args) {Jedis jedis = new Jedis("127.0.0.1", 6379);jedis.auth("123456");jedis.publish("mynotice", "I'm in Chengdu!");jedis.publish("mynotice", "Hello redis!");}}

消息订阅类1:RedisClientOne

package com.zyujie.redis;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPubSub;/** * jedis的消息订阅和发布 * @author zhouyujie */public class RedisClientOne {/** * 订阅消息 * @param args */public static void main(String[] args) {Jedis jedis = new Jedis("127.0.0.1", 6379);jedis.auth("123456");JedisPubSub jedisPubSub = new JedisPubSub() {@Overridepublic void onMessage(String channel, String message) {super.onMessage(channel, message);System.out.println(message);}};jedis.subscribe(jedisPubSub, "mynotice");}}

消息订阅类2:RedisClientTwo

package com.zyujie.redis;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPubSub;/** * jedis的消息订阅和发布 * @author zhouyujie */public class RedisClientTwo {/** * 订阅消息 * @param args */public static void main(String[] args) {Jedis jedis = new Jedis("127.0.0.1", 6379);jedis.auth("123456");JedisPubSub jedisPubSub = new JedisPubSub() {@Overridepublic void onMessage(String channel, String message) {super.onMessage(channel, message);System.out.println(message);}};jedis.subscribe(jedisPubSub, "mynotice");}}

启动客户端订阅类,1和2后:相当于开启了对mynotice渠道的监听,然后启动消息发布类,发布消息,订阅类同时收到消息:打印结果:

I'm in Chengdu!Hello redis!
基础的,还是比较简单。先到这里吧。!