以下是使用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
原文地址:https://www.cnblogs.com/dashenaichicha/p/12150352.html
时间: 2024-10-20 07:17:43