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

原文地址:https://www.cnblogs.com/dashenaichicha/p/12150352.html

时间: 2024-10-20 07:17:43

RedisPool类使用Jedis操作Redis的相关文章

Java中Jedis操作Redis与Spring的整合

Redis是一个key-value存储系统.它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有序集合).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.为了保证效率,数据都是缓存在内存中.redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步.以下是

四、Jedis操作Redis

前言:  原来我们操作mysql需要用的jdbc,现在操作redis则需要jedis,jedis是客户端,而redis是服务器,使用jedis客户端来操作redis. 在这里要使用jedis操作redis需要引入下面两个jar包 一.Jedis简单操作 1.使用jedis 客户端,完成jedis简单操作: public class JedisTest { @Test() public void setRedis(){ Jedis connection = new Jedis("127.0.0.1

Redis学习-5 Jedis操作Redis

1.Jedis Jedis在java应用中操作Redis; 2.Jedis访问Redis 下载Jedis http://search.maven.org和Commons-Poolx [关闭linux的防火墙] 新建java project 导入jar jedis的jar 新建class,创建jedis对象,连接到Redis服务器, String host = "192.168.1.1"; int port = 6379; Jedis jedis = new Jedis(host,por

Spring-Boot 使用 Jedis 操作 Redis

背景: 1.Redis 之前学了个皮毛 还忘的差不多了,感觉公司项目中的Redis用的真的牛逼,so 需要深造. 2.有个同事在搞Jedis,勾起了我对知识的向往,不会用,但是很渴望. 过程: 1.改造原有项目集成Jedis,引入jar包 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.8.2</ver

Java中使用Jedis操作Redis

转载:http://www.cnblogs.com/liuling/p/2014-4-19-04.html 使用Java操作Redis需要jedis-2.1.0.jar,下载地址:http://files.cnblogs.com/liuling/jedis-2.1.0.jar.zip 如果需要使用Redis连接池的话,还需commons-pool-1.5.4.jar,下载地址:http://files.cnblogs.com/liuling/commons-pool-1.5.4.jar.zip

使用Jedis操作redis

使用Java操作Redis需要jedis-2.1.0.jar,下载地址:http://files.cnblogs.com/liuling/jedis-2.1.0.jar.zip 如果需要使用Redis连接池的话,还需commons-pool-1.5.4.jar,下载地址:http://files.cnblogs.com/liuling/commons-pool-1.5.4.jar.zip jedis的基本操作: package com.donghai.redis; import java.uti

java中使用jedis操作redis(连接池方式)

1 package com.test; 2 3 import java.util.HashMap; 4 import java.util.Iterator; 5 import java.util.List; 6 import java.util.Map; 7 8 import org.junit.Before; 9 import org.junit.Test; 10 11 import redis.clients.jedis.Jedis; 12 13 public class TestRedis

使用jedisPool管理jedis,使用jedis操作redis

ps:jedis是redis在java中的客户端操作工具 package com.test; 2 3 import java.util.HashMap; 4 import java.util.Iterator; 5 import java.util.List; 6 import java.util.Map; 7 8 import org.junit.Before; 9 import org.junit.Test; 10 11 import redis.clients.jedis.Jedis; 1

Java使用Jedis操作Redis大全

Java操作Redis需要导入两个jar: commons-pool2-2.4.2.jar jedis-2.1.0.jar package com.chinasofti.test; import java.io.IOException; import java.io.OutputStream; import java.util.HashMap; import java.util.Map; import java.util.logging.Logger; import org.junit.Befo