RedisPool类使用Jedis操作Redis


  以下是使用jedis操作本机redis缓存的基本方法,jedis对象封装了redis执行的很多操作命令,获取到jedis对象之后(通过jedisPool连接池获取)就可以操作redis缓存了。

 1 public class RedisPool {  2 
 3     //jedis封装好了连接池对象,首先使用连接池对象
 4     private static JedisPool jedisPool;  5     //连接池最大可连接数量
 6     private static Integer maxTotal= Integer.parseInt(PropertiesUtil.getProperty("redis.max.total", "20"));  7     //连接池最大空闲数量
 8     private static Integer maxIdle=Integer.parseInt(PropertiesUtil.getProperty("redis.max.idle", "20"));  9     //连接池最小空闲数量
10     private static Integer minIdle=Integer.parseInt(PropertiesUtil.getProperty("redos.min.idle", "20")); 11     //在borrow一个jedis实例的时候,是否要进行验证操作,如果赋值true,则是可用的 12     //一般将JedisPool中的连接称为连接实例
13     private static Boolean testOnBorrow=Boolean.parseBoolean(PropertiesUtil.getProperty("redis.test.borrow", "true")); 14     //在return一个jedis实例的时候,是否要进行验证操作,如果赋值true,则放回jedispool的实例是可用的
15     private static Boolean testOnReturn=Boolean.parseBoolean(PropertiesUtil.getProperty("redis.test.return", "true")); 16   
17     //初始化连接池对象使用的ip(下面的这两个是比较关键的,契合了本机的redis的基本属性)
18     private static String redisIp=PropertiesUtil.getProperty("redis.ip"); 19     //初始化连接池对象使用的port
20     private static Integer redisPort = Integer.parseInt(PropertiesUtil.getProperty("redis.port")); 21 
22 
23     //初始化JedisPool
24     private static void initPool(){ 25         JedisPoolConfig config = new JedisPoolConfig(); 26 
27  config.setMaxTotal(maxTotal); 28  config.setMaxIdle(maxIdle); 29  config.setMinIdle(minIdle); 30 
31  config.setTestOnBorrow(testOnBorrow); 32  config.setTestOnReturn(testOnReturn); 33 
34         //当连接耗尽的时候设置阻塞,false会抛出异常,true阻塞直到超时,默认为true,但是如果超时的话也会抛出超时异常的
35         config.setBlockWhenExhausted(true); 36 
37         //初始化连接池对象(调用JedisPool的构造器,上面已声明了jedisPool)
38         jedisPool = new JedisPool(config, redisIp, redisPort, 1000*2); 39  } 40 
41     //初始化jedis连接池(在加载本类的时候就会初始化即执行initpool()方法)
42     static{ 43  initPool(); 44  } 45 
46     //在连接池中获取jedis连接(主要是供该类调用)
47     public static Jedis getJedis(){ 48         return jedisPool.getResource(); 49  } 50     //在使用完了之后归还jedis连接
51     public static void returnResource(Jedis jedis){ 52         jedisPool.returnResource(jedis);//源码已进行空判断
53  } 54     //返回已破坏的jedis连接
55     public static void returnBrokenResource(Jedis jedis){ 56  jedisPool.returnBrokenResource(jedis); 57  } 58 
59 
60     //测试
61     public static void main(String[] args){ 62         Jedis jedis = jedisPool.getResource(); 63         jedis.set("firstKey", "firstValue"); 64  returnResource(jedis); 65  jedisPool.destroy(); 66         System.out.println("program is end"); 67  } 68 
69 }

   以下是关于redis的配置文件

 1 #redis config start  2 
 3 #最大连接数  4 redis.max.total=20
 5 #最大空闲数  6 redis.max.idle=10
 7 #最小空闲数  8 redos.min.idle=2
 9 #从jedis连接池获取连接时,校验并返回可用的连接 10 redis.test.borrow=true
11 #把连接放回jedis连接池时,校验并返回可用的连接 12 redis.test.return=false
13 
14 redis.ip=127.0.0.1
15 redis.port=6379
16 
17 #redis config end


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM