javaDEMO
本网站记录了最全的各种 JavaDEMO ,保证下载,复制就是可用的,包括基础的, 集合的, spring 的, Mybatis 的等等各种,助力你从菜鸟到大牛,记得收藏哦~~
https://www.javastudy.cloud
springboot 使用 redis 连接池
参考文档:
https://docs.spring.io/spring-boot/docs/2.2.1.RELEASE/reference/html/spring-boot-features.html#boot-features-connecting-to-redis
这个文档不多,就两段话,推荐大家看一看,里面解释了为什么要引 commons-pools 的依赖
大致需要以下几步:
1.引入相关的依赖
2.配置连接池
3.测试
引入相关依赖
这里要注意,还要多引入一个 commons-pools 的依赖
implementation 'org.springframework.boot:spring-boot-starter-data-redis'
compile group: 'org.apache.commons', name: 'commons-pool2', version: '2.7.0'
配置连接池
其实在引入 commons-pools 这个依赖之后,redis 会自动使用连接池,但是对有些参数如有需要自定义,还是要设置一下的
如下所示,只有最后一个是自定义的,其他都是默认的,我复制出来了一下
# 连接池中最大的连接数
spring.redis.lettuce.pool.max-active=8
# 连接池中最大的空闲连接数
spring.redis.lettuce.pool.max-idle=8
# 连接池中最小的空闲连接数
spring.redis.lettuce.pool.min-idle=0
# 最大等待线程池分配连接的时间,默认设置为负数,当分配不了连接时,会无限制的等
spring.redis.lettuce.pool.max-wait=20
测试
redis 搭建请参考:
https://www.javastudy.cloud/articles/2019/11/04/1572830098136.html
直接在 Test 里面用单元测试,代码如下:
@SpringBootTest
class DemoApplicationTests {
@Resource
private StringRedisTemplate stringRedisTemplate;
@Test
void contextLoads() {
stringRedisTemplate.opsForValue().set("hello","java");
String hello = stringRedisTemplate.opsForValue().get("hello");
System.out.println(hello);
}
}
结果输出
DEMO 总评
在实际开发中,无论是数据库还是 redis,还是代码中的多线程,使用连接池对节省新建连接开销都是很好的一个方案,特别是 springboot 对连接池做了很好的封装,只用配置下参数就可以使用了,加油吧, 少年!
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于