博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Jedis(Java+Redis) Pool的使用
阅读量:6485 次
发布时间:2019-06-23

本文共 2658 字,大约阅读时间需要 8 分钟。

今天试了一下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 564 millisGet ret from redis: v1 with 235 millisGet ret from redis: v1 with 225 millisGet ret from redis: v1 with 214 millisGet ret from redis: v1 with 210 millisGet ret from redis: v1 with 232 millisGet ret from redis: v1 with 209 millisGet ret from redis: v1 with 211 millisGet ret from redis: v1 with 239 millisGet ret from redis: v1 with 207 millisGet ret from redis: v1 with 215 millisGet ret from redis: v1 with 223 millisGet ret from redis: v1 with 291 millisGet ret from redis: v1 with 220 millisGet ret from redis: v1 with 214 millisGet ret from redis: v1 with 219 millisGet ret from redis: v1 with 257 millisGet ret from redis: v1 with 214 millisGet ret from redis: v1 with 211 millisProcess finished with exit code 0

可以看出,第一次500多毫秒,之后都是200多毫秒,速度有提高。

 

转载地址:http://zciuo.baihongyu.com/

你可能感兴趣的文章
DecimalFormat 数据格式设置 SimpleDateFormat时间格式的用法介绍 --转载
查看>>
Android 的Margin和Padding属性以及支持的长度单位
查看>>
Django templates加载css/js/image等静态资源
查看>>
caffe solver
查看>>
Rhel6-heartbeat+lvs配置文档
查看>>
ORACLE分科目统计每科前三名的学生的语句
查看>>
0317复利计算的回顾与总结
查看>>
函数对象
查看>>
最全最新个税计算公式---今天你税了吗?
查看>>
linux shell 正则表达式(BREs,EREs,PREs)差异比较(转,当作资料查)
查看>>
二分法求平方根(Python实现)
查看>>
使用startActivityForResult方法(转)
查看>>
so在genymotation中错误问题
查看>>
Visual Studio 原生开发的10个调试技巧(二)
查看>>
Windows内核再次出现0Day漏洞 影响win2000到win10所有版本 反病毒软件恐成瞎子
查看>>
H3C品牌刀片系统强势首发
查看>>
【CSS系列】图像映射
查看>>
First blood
查看>>
SQL存储过程中的几个常见设定SET QUOTED_IDENTIFIER/NOCOUNT/XACT_ABORT ON/OFF
查看>>
Silverlight与Flash区别之一
查看>>