Redis发布与订阅以及日常存取源码分享
来源:互联网 发布:网络大电影 编辑:程序博客网 时间:2024/06/16 16:04
需要JAR包:
commons-pool2-2.4.2 、jedis-2.9.0
==============================发布与订阅==============================
/**
*
* 订阅者 (先启动订阅后,才能获取发布者发布的信息)
* */
public class Redis_Subscribe {
static JedisPool pool;
static Jedis jedis;
public static void main(String[] args) {
// 初始化Redis连接池
pool = new JedisPool(new JedisPoolConfig(), "127.0.0.1");
// 从Redis连接池中获取一个连接
jedis = pool.getResource();
// Redis的密码,对应redis.windows.conf中的masterauth
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,"JRedisChat");
}
}
/**
*
* 发布者
* */
public class Redis_Release {
static JedisPool pool;
static Jedis jedis;
public static void main(String[] args) {
// 初始化Redis连接池
pool = new JedisPool(new JedisPoolConfig(), "127.0.0.1");
// 从Redis连接池中获取一个连接
jedis = pool.getResource();
// Redis的密码,对应redis.windows.conf中的masterauth
jedis.auth("123456");
jedis.publish("JRedisChat","my name is chenLong");
jedis.publish("JRedisChat","my name is chenLong");
// System.out.println(jedis.get("JRedisChat"));
}
}
============================日常存取=============================
public class Zsgc_test {
public static void main(String[] args) {
start();
listTest();
}
static JedisPool pool;
static Jedis jedis;
public static void start() {
// 初始化Redis连接池
pool = new JedisPool(new JedisPoolConfig(), "127.0.0.1");
// 从Redis连接池中获取一个连接
jedis = pool.getResource();
// Redis的密码,对应redis.windows.conf中的masterauth
jedis.auth("123456");
}
/**
* 添加测试
*/
public static void putTest() {
jedis.set("user", "YoriChan");
System.out.println(jedis.get("user"));
// 输出结果:YoriChan
}
/**
* 覆盖测试
*/
public static void overWriteTest() {
jedis.set("user", "chanyulin");
System.out.println(jedis.get("user"));
// 输出结果:chanyulin
}
/**
* 追加测试
*/
public static void appendTest() {
jedis.append("user", "陈昱霖");
System.out.println(jedis.get("user"));
// 输出结果:chanyulin陈昱霖
}
/**
* 删除测试
*/
public static void deleteTest() {
jedis.del("user");
System.out.println(jedis.get("user"));
// 输出结果:null
}
/**
* List测试
*/
public static void listTest() {
List<TestEntity> artList = new ArrayList<TestEntity>();
for(int i=0;i<100000;i++){
TestEntity tn = new TestEntity();
tn.setId(1+i);
tn.setName("xxx"+i);
tn.setBz("哈喽,你好"+i);
artList.add(tn);
}
long start = System.currentTimeMillis();
String key = "TestSetOpt";
jedis.set(key,JSON.toJSONString(artList));
long stored = System.currentTimeMillis();
System.out.println("redis写10万条数据耗时:" + (stored - start));
System.out.println(jedis.get(key));
jedis.del(key);
System.out.println(jedis.get(key));
}
}
- Redis发布与订阅以及日常存取源码分享
- Redis 发布与订阅
- Redis 发布与订阅
- Redis 订阅与发布
- Redis 发布与订阅
- Redis-发布与订阅
- redis发布与订阅
- Redis 订阅与发布
- redis-订阅与发布
- Spring Redis与ActiveMQ发布订阅模式源码分析
- Redis的订阅与发布
- redis发布与订阅-初探
- redis 订阅与发布功能
- Redis发布与订阅模式
- redis-消息发布与订阅
- 【Redis基础】发布与订阅
- redis发布与订阅机制
- redis-消息订阅与发布
- UWP(2) How to access the Sqlite db(如何访问Sqlite数据库文件)
- srpingBoot +mybatis 出现不能批量插入的问题,解决方法
- CodeForces 455A:Boredom (动态规划)
- iOS-未读消息的小红点展示
- C++对C语言的扩展(二)
- Redis发布与订阅以及日常存取源码分享
- CSS中可以和不可以继承的属性
- Linux 搭建redis
- spring boot 拦截器 注入dao 操作数据库时dao 为null
- Linux机器间同步文件脚本
- java学习初探2之语言基础(2)
- 卡尔曼滤波学习(一)
- APP跳转到设置中
- JSP学习进度1