springboot中使用连接池操作Redis

1,872 阅读3分钟

这是我参与2022首次更文挑战的第4天,活动详情查看:2022首次更文挑战

hello,你好呀,我是灰小猿,一个超会写bug的程序猿! 之前的文章中和大家分享了如何安装和配置Redis,并且讲了在Java中如何简单的使用Redis的方法,那么这篇文章我就接着来和大家分享一下,在springboot中如何使用连接池技术来操作Redis,

一、使用连接池操作Redis 和使用mysql数据库一样,Redis在springboot中也是有连接池的,上面在yml中写入配置文件的时候,我有和大家说过可以在yml配置文件中写入连接池参数,那么配置如下:

##redis配置信息
spring:
  redis:
    database: 0 #redis数据库索引,默认为0
    host: 127.0.0.1 #redis服务器地址
    port: 6379 #redis服务器连接端口
    password: #redis服务器连接密码,默认为null
    timeout: 5000 #redis连接超时时间
    jedis:
      pool: #连接池配置
        max-active: 8 #连接池最大连接数
        max-wait: -1 #连接池最大阻塞等待时间
        max-idle: 8 #连接池中的最大空闲连接数
        min-idle: 0 #连接池中的最小空闲连接数

使用连接池时还有一种不需要写入配置文件的方法,使用这种方法就需要在构造函数中传入参数。 并且将配置信息写入到配置类中,

当然,在进行实际的项目开发的时候,还是将配置信息写入到配置文件中会好一点。

    /**
     * redis连接测试01
     * 建立简单主从架构
     */
    @Test
    public void redisTest02() {
//        配置redis连接池
        JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
//        在指定时刻通过连接池能够获取到的最大的jedis的数量
        jedisPoolConfig.setMaxTotal(20);
//        最大空闲jedis的数量
        jedisPoolConfig.setMaxIdle(10);
//        最小空闲jedis的数量
        jedisPoolConfig.setMinIdle(5);

//        建立redis连接池,设置本地地址,端口号,连接超时时间和读写超时时间,如果没有连接密码,那么久为null
        JedisPool jedisPool = new JedisPool(jedisPoolConfig, "127.0.0.1", 6379, 300, null);

//        新建一个jedis,jedis:redis在Java中的客户端实现
        Jedis jedis = null;
        try {
//            从连接池中获取到一个jedis资源
            jedis = jedisPool.getResource();
//            设置key-value,并获取value
            System.out.println(jedis.set("hxy", "888"));
            System.out.println(jedis.get("hxy"));
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
//            注意!!这里不是关闭连接,只是将jedis归还到连接池
            if (jedis != null) {
                jedis.close();
            }
        }

    }

以上是不使用配置文件的情况下,将参数传入到Jdispool类中来实现连接池的,如果使用了配置文件,那么直接调用Jdispool的无参构造即可了,这样就可以读取配置文件中连接池参数信息,并且能够配置到我们的代码中,
最后在操作完的时候,别忘了使用jedis.close();将jedis归还到连接池即可!

使用配置文件的形式来配置连接池的一个好处就是能够实现定制化开发,在需要修改连接词的信息的时候,不需要去修改代码,直接修改配置文件中的参数信息即可! 通过连接池操作,我们还可以像MySQL的数据库一样,提高Redis的操作效率,所以Redis的配置文件参数的含义一定要牢记!

关于springboot连接Redis的操作,就先分享这些,当然Redis的操作肯定远远不止这些,之后小猿慢慢和大家分享吧!
一键三连加关注,灰小猿带你上高速!
我是灰小猿,我们下期见呀!