Jedis一般配置

@Bean
    public JedisPool getJedisPool(){
        String host = environment.getProperty("lock.redis.host");
        String port = environment.getProperty("lock.redis.port");

        GenericObjectPoolConfig config = new JedisPoolConfig();
        int idle = 25;
        config.setMaxTotal(idle); //配置最大jedis实例数
        config.setMaxIdle(idle);//配置资源池最大闲置数
        config.setMinIdle(idle);
        config.setTestWhileIdle(true);
        config.setTimeBetweenEvictionRunsMillis(30000);
        config.setNumTestsPerEvictionRun(idle);  // 每次都验证25个链接是否有效
        config.setMaxWaitMillis(200);//等待可用连接的最大时间
        config.setTestOnBorrow(false);//在borrow一个jedis实例时,是否提前进行validate操作;如果为true,则得到的jedis实例均是可用的
        config.setTestOnCreate(false);
        config.setEvictionPolicy(new MyEvictionPolicy());
        JedisPool jedisPool = new JedisPool(config, host, Integer.parseInt(port));
        return jedisPool;
    }

    /**
     * 永不驱逐,利用test进行驱逐
     */
    public static class MyEvictionPolicy implements EvictionPolicy {

        @Override
        public boolean evict(EvictionConfig config, PooledObject underTest, int idleCount) {
            if (((Jedis)underTest.getObject()).ping().equals("PONG")) {
                return false;
            }
            return true;
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值