JedisPool连接池代码示例

来源:互联网 发布:域名dns污染解决办法 编辑:程序博客网 时间:2024/05/17 04:09

核心包:jedis-xxx.jar和commons-pool2-xxx.jar
Jedis实例需要从JedisPool中获取

package com.csl.test;import java.util.ArrayList;import java.util.List;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;import redis.clients.jedis.JedisPoolConfig;import redis.clients.jedis.JedisShardInfo;import redis.clients.jedis.ShardedJedis;import redis.clients.jedis.ShardedJedisPool;public class RedisConnect {     private JedisPool jedisPool;//非切片连接池     private ShardedJedisPool shardedJedisPool;//切片连接池     private static RedisConnect redisConnect;     private RedisConnect()      {          initialPool();          initialShardedPool();      }      public static RedisConnect getRedisConnect(){         if(redisConnect==null){             synchronized (RedisConnect.class) {                 if(redisConnect==null) redisConnect = new RedisConnect();             }         }         return redisConnect;     }     public Jedis getJedis() {         return jedisPool.getResource();      }     public ShardedJedis getShardedJedis() {         return  shardedJedisPool.getResource();     }     /**      * 初始化非切片池      */     private void initialPool()      {          // 池基本配置          JedisPoolConfig config = new JedisPoolConfig();          config.setMaxTotal(20);          config.setMaxIdle(5);          config.setMaxWaitMillis(1000l);          config.setTestOnBorrow(false);          jedisPool = new JedisPool(config,"127.0.0.1",6379);     }     /**       * 初始化切片池       */      private void initialShardedPool()      {          // 池基本配置          JedisPoolConfig config = new JedisPoolConfig();          config.setMaxTotal(20);          config.setMaxIdle(5);          config.setMaxWaitMillis(1000l);          config.setTestOnBorrow(false);          // slave链接          List<JedisShardInfo> shards = new ArrayList<JedisShardInfo>();          shards.add(new JedisShardInfo("127.0.0.1", 6379, "master"));          // 构造池          shardedJedisPool = new ShardedJedisPool(config, shards);      }      public void Close() {              jedisPool.close();         shardedJedisPool.close();     } }
原创粉丝点击