使用JAVA配置Redis以及JedisPool连接池的使用

一:需要Redis环境
二:创建Spring boot 项目
导入依赖
<dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>4.2.3</version>
        </dependency>
创建连接池
public class jedisuit {
 private static JedisPool jedisPool =null;

    static {
        JedisPoolConfig poolConfig = new JedisPoolConfig();
    
        poolConfig.setMaxTotal(100);
        poolConfig.setMaxIdle(20);
        poolConfig.setMinIdle(5);
        poolConfig.setMaxWaitMillis(3000);

         jedisPool = new JedisPool(poolConfig, "127.0.0.1", 6379, 5000);
    }


    public static Jedis getJedisPool(){
        return  jedisPool.getResource();
    }

}
public class redistest {

    public Jedis jedis;

    /*
    BeforeEach:用于指定在每个测试用例执行之前需要执行的代码块或方法。通常用于初始化测试环境或准备测试数据。
     */
    @BeforeEach
    void setUp() {
        //使用jedisPool连接池
      jedis= jedisuit.getJedisPool();

    }

//逻辑
    @Test
    void test() {

        String set = jedis.set("芽衣", "贴贴");
        System.out.println(set);

        String yayi = jedis.get("芽衣");
        System.out.println(yayi);
    }
    @Test
    void adddhash(){
        jedis.hset("id:1","ya","yi");
        jedis.hset("id:1","aili","xiya");
        Map<String, String> stringStringMap = jedis.hgetAll("id:1");

                System.out.println(      stringStringMap );

    }





    //释放连接
    //使用了连接池它不是销毁,而是归还
    @AfterEach
    void tearDown() {
        if(jedis!=null){
            jedis.close();
        }
    }
}

三 连接池的常用方法
 

1、maxTotal:资源池中最大的连接数 默认:8

2、maxIdle:资源池允许最大空闲的连接数 默认:8

3、minIdle:资源池确保最少空闲的连接数 默认0

4、blockWhenExhausted:当资源池用尽后,调用者是否要等待,默认值为true。当为true时,maxWaitMillis才会生效。

5、maxWaitMillis:当资源池连接用尽后,调用者的最大等待时间(单位为毫秒)。默认值为-1,表示永不超时。

6、testOnBorrow:向资源池借用连接时,是否做有效性检测(ping命令),如果是无效连接,会被移除,默认值为false,表示不做检测。

7、testOnReturn:向资源池归还连接时,是否做有效性检测(ping命令),如果是无效连接,会被移除,默认值为false,表示不做检测。

8、testWhileIdle:如果为true,表示用一个专门的线程对空闲的连接进行有效性的检测扫描,如果有效性检测失败,即表示无效连接,会从资源池中移除。

9、timeBetweenEvictionRunsMillis:表示两次空闲连接扫描的活动之间,要睡眠的毫秒数,默认为30000毫秒,也就是30秒钟。

10、minEvictableIdleTimeMillis:表示一个Jedis连接至少停留在空闲状态的最短时间,然后才能被空闲连接扫描线程进行有效性检测,默认值为60000毫秒,即60秒。

11、numTestsPerEvictionRun:表示空闲检测线程每次最多扫描的Jedis连接数,默认值为-1,表示扫描全部的空闲连接。

12、jmxEnabled:是否开启jmx监控,默认值为true。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值