Jedis(Java+Redis) Pool的使用
今天试了一下Jedis里连接池JedisPool的的使用。代码如下:
package com.myapp.jedis.pooldemo; import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig; /**
* Created by baidu on 16/10/18.
*/
public class TestPool {
private static JedisPool pool = null; public static JedisPool getPool() {
if (pool == null) {
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(500);
config.setMaxIdle(5);
config.setMaxWaitMillis(1000*10);
//在borrow一个jedis实例时,是否提前进行validate操作;如果为true,则得到的jedis实例均是可用的;
config.setTestOnBorrow(true);
//new JedisPool(config, ADDR, PORT, TIMEOUT, AUTH);
pool = new JedisPool(config, "[ip]", 8379, 10000, "[auth]"); }
return pool;
} public synchronized static Jedis getResource() {
if (pool == null) {
pool = getPool();
}
return pool.getResource();
} // 返还到连接池
// Deprecated
// 换成用完之后, redis.close()
/*
public static void returnResource(Jedis redis) {
if (redis != null) {
pool.returnResource(redis);
}
}
*/ public static void main(String[] args) {
Jedis redis = null;
int loop = 1;
while (loop < 20) {
try {
long start = System.currentTimeMillis();
redis = getResource();
redis.set("k1", "v1");
String ret = redis.get("k1");
long end = System.currentTimeMillis();
System.out.printf("Get ret from redis: %s with %d millis\n", ret, end-start);
} finally {
if (redis != null) {
redis.close();
}
}
loop++;
}
} }
其中,有个函数returnResource已经deprecated了,现在Jedis的close方法重写了,用Jedis.close来释放资源。
跑了20次,运行结果如下:
Get ret from redis: v1 with millis
Get ret from redis: v1 with millis
Get ret from redis: v1 with 225 millis
Get ret from redis: v1 with 214 millis
Get ret from redis: v1 with 210 millis
Get ret from redis: v1 with 232 millis
Get ret from redis: v1 with 209 millis
Get ret from redis: v1 with 211 millis
Get ret from redis: v1 with 239 millis
Get ret from redis: v1 with 207 millis
Get ret from redis: v1 with 215 millis
Get ret from redis: v1 with 223 millis
Get ret from redis: v1 with 291 millis
Get ret from redis: v1 with 220 millis
Get ret from redis: v1 with 214 millis
Get ret from redis: v1 with 219 millis
Get ret from redis: v1 with 257 millis
Get ret from redis: v1 with 214 millis
Get ret from redis: v1 with 211 millis Process finished with exit code 0
可以看出,第一次500多毫秒,之后都是200多毫秒,速度有提高。
Jedis(Java+Redis) Pool的使用的更多相关文章
- Java中使用Jedis操作Redis(转载)
整理 1.字符串 添加:set keyname value 查询:get keyname 拼接:append keyname value 删除:del keyname 添加多个: mset keyna ...
- (转)Java中使用Jedis操作Redis
转自http://www.cnblogs.com/liuling/p/2014-4-19-04.html 使用Java操作Redis需要jedis-2.1.0.jar,下载地址:http://file ...
- Java中使用Jedis操作Redis
使用Java操作Redis需要jedis-2.1.0.jar,下载地址:http://files.cnblogs.com/liuling/jedis-2.1.0.jar.zip 如果需要使用Redis ...
- Java通过jedis操作redis缓存
package com.wodexiangce.util; import java.util.Set; import redis.clients.jedis.Jedis; /** * redis工具类 ...
- java客户端Jedis操作Redis Sentinel 连接池
pom配置: <dependency> <groupId>org.springframework.data</groupId> <artifactId> ...
- spring 集成redis客户端jedis(java)
spring集成jedis简单实例 jedis是redis的java客户端,spring将redis连接池作为一个bean配置. “redis.clients.jedis.JedisPool”,这 ...
- Java使用Jedis操作Redis大全
Java操作Redis需要导入两个jar: commons-pool2-2.4.2.jar jedis-2.1.0.jar package com.chinasofti.test; import ja ...
- Redis】Java中使用Jedis操作Redis(Maven导入包)、创建Redis连接池
如果我们使用Java操作Redis, 需要确保已经安装了 redis 服务及 Java redis 驱动. Maven项目可以直接在pom.xml中加入jedis包驱动: <!-- https: ...
- Java中使用Jedis操作Redis之二
import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.J ...
随机推荐
- bzoj 1208 HNOI2004宠物收养所 平衡树
裸平衡树,恢复手感用的 //By BLADEVIL var n :longint; i :longint; x, y :longint; t, tot :longint; key, s, left, ...
- tcpip概述
网络协议通常分为不同层次进行开发,每一层分别负责不同的通信功能.一个类似TCPIP的协议簇是一组不同层次上的多个协议的组合.TCPIP通常被认为是一个四层协议系统,分为:应用层(telnet/FTP/ ...
- [ Python - 5 ] 通过random模块生成随机字符串
import random checkcode = '' for i in range(4): if i == random.randint(0,3): current = chr(random.ra ...
- 某dp题2
P2401 不等数列 题目描述 将1到n任意排列,然后在排列的每两个数之间根据他们的大小关系插入">"和"<".问在所有排列中,有多少个排列恰好有k ...
- 一个杀不死的小强,kill进程无效的原因 记录故障排查过程中kill进程无效的分析过程
今天在处理一个机器异常负载(1000+)的问题,碰到了一个从未碰到过的情况,遇到了一个异常顽固的分子.我使用了所能想到的所有杀进程的方法,却始终无法干掉这个顽固分子,最后终于在谷歌大神的指引下,干掉了 ...
- [ThinkPHP] 从一个表中获得栏目对应的ID,从另一个表获得属于这些栏目的文章
public function index(){ $cate = 1; $query = M('Cate')->field('id')->where(array('id'=>$cat ...
- 如何修改wamp目录【成功】
Wampserver安装好后,“www目录”默认为X:/wamp/www,(这里的X是盘符)也就是wampserver安装目录下的www文件夹.实际使用中,默认设置往往不是我们想要的,可能改成其他文件 ...
- HDU 变形课 1181【DFS/BFS】
变形课 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others) Total Submissi ...
- 洛谷——P1033 自由落体
P1033 自由落体 题目描述 在高为 H 的天花板上有 n 个小球,体积不计,位置分别为 0,1,2,….n-1.在地面上有一个小车(长为 L,高为 K,距原点距离为 S1).已知小球下落距离计算公 ...
- centos7 启用iptables
在centos 7下启用iptables systemctl stop firewalld.service systemctl disable firewalld.service yum instal ...