Jedis
在实现上是直接连接的redis server
,如果在多线程环境下是非线程安全的,在多线程环境下每个线程都去拿Jedis
实例,当连接数量增多时,物理连接成本就较高了,这个时候只有使用连接池为每个Jedis
实例增加物理连接。
Lettuce
的连接是基于Netty
的,连接实例(StatefulRedisConnection
)可以在多个线程间并发访问,因为StatefulRedisConnection
是线程安全的,所以一个连接实例(StatefulRedisConnection
)就可以满足多线程环境下的并发访问,当然这个也是可伸缩的设计,一个连接实例不够的情况也可以按需增加连接实例。
一、Redis与spring的整合一般分为spring-data-redis整合和JedisPool整合,先看看两者的区别1)、引用的依赖不同:spring-data-redis使用的依赖如下: <dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data
随着数据量的日益增长,很多时候如果直接用SELECT * FROM XXX这些SQL语句来对上千万的数据进行查询,那耗费的时间可想而知。
作为用户一方,肯定希望系统响应越快越好,没什么人喜欢点一个按钮要等到吃完一顿饭回来还没能够响应成功,何况像我这些急性子的人,哈哈!
对Redis不了解的同学,可以自己先去查阅一下,网上有很多关于这方面的说法,我这里就不做阐述了。
在pom....
SpringBoot 中 Redis 的使用Redis@ConfigurationProperties 注解
Redis
通常在使用 redis 的时候,我需要导入 spring-boot-starter-data-redis 的依赖之外,我们还可以配置一个 redis 的连接池,减少创建连接与销毁连接的损耗
在 redis 的 Lettuce 配置类中 说可以允许导入 commons-pool2 来导入 redis 的连接池
以及配置连接相关参数
@ConfigurationProperties 注解