Redis JedisPool
发布日期:2021-07-12 08:49:46 浏览次数:5 分类:技术文章

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

获取连接池,通常连接池为单例,这里使用 双端检测机制保证只有一个实例

 

public class JedisPoolUtil {    private static volatile JedisPool jedisPool = null;    private JedisPoolUtil() {    }    public static JedisPool getJedisPoolInstance() {        if (null == jedisPool) {            synchronized (JedisPoolUtil.class) {   //这里使用双端检测设计模式                if (null == jedisPool) {                    JedisPoolConfig poolConfig = new JedisPoolConfig();                    //控制一个pool可分配多少个jedis实例,通过pool.getResource()来获取;如果赋值为-1,则表示不限制,                    //如果pool已经分配了maxActive个jedis实例,则此时pool的状态为exhausted                    poolConfig.setMaxActive(1000);                    poolConfig.setMaxIdle(32);  //设置剩余连接各数,如果小于这个就会抛异常                    //表示当borrow一个jedis实例时,最大的等待时间,如果超过等待时间,则直接抛JedisConnectionException                    poolConfig.setMaxWait(100*1000);                     //获得一个jedis实例的时候是否检查连接可用性(ping()),如果为true,则得到的jedis实例均是可用的                    poolConfig.setTestOnBorrow(true);                     jedisPool = new JedisPool(poolConfig, "192.168.1.201", 6379);                }            }        }        return jedisPool;    }    /**     * 释放     * @param jedisPool 释放哪个池中     * @param jedis        的哪个对象     */    public static void release(JedisPool jedisPool,Jedis jedis){        if(null != jedis){            jedisPool.returnResourceObject(jedis);        }    }}

 

 测试代码:

public class TestJedisPool {    public static void main(String[] args) {        JedisPool jedisPool = JedisPoolUtil.getJedisPoolInstance();        Jedis jedis = null;        try {            jedis = jedisPool.getResource();            jedis.set("aa", "bb");        } catch (Exception e) {            e.printStackTrace();        } finally {            JedisPoolUtil.release(jedisPool, jedis);        }    }}

 

 

127.0.0.1:6379> get aa

"bb"
127.0.0.1:6379>

 

JedisPoolCinfig

 

转载于:https://www.cnblogs.com/wq3435/p/6124246.html

转载地址:https://blog.csdn.net/ankan7400/article/details/102088992 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java高新技术-java5的静态导入与编译器语法设置
下一篇:深入理解java内存模型系列文章

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年04月02日 23时37分14秒