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() {
@Override
public 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() {
@Override
public 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!
基础的,还是比较简单。先到这里吧。!