SpringData是Spring中数据操作的模块,包含对各种数据库的集成,其中对Redis的集成模块就叫做SpringDataRedis,
官网地址:https://spring.io/projects/spring-data-redis
- 提供了对不同Redis客户端的整合( Lettuce和Jedis)
- 提供了RedisTemplate统一API来操作Redis
- 支持Redis的发布订阅模型
- 支持Redis哨兵和Redis集群
- 支持基于Lettuce的响应式编程
- 支持基于JDK、JSON、字符串、Spring对象的数据序列化及反序列化
- 支持基于Redis的JDKCollection实现
SpringDataRedis中提供了RedisTemplate工具类,其中封装了各种对Redis的操作。并且将不同数据类型的操作API封装到了不同的类型中:
API | 返回值类型 | 说明 |
---|---|---|
redisTemplate.opsForValue() | Value0perations | 操作String类型数据 |
redisTemplate.opsForHash() | Hash0perations | 操作Hash类型数据 |
redisTemplate.opsForList() | Listoperations | 操作List类型数据 |
redisTemplate.opsForSet() | Set0perations | 操作Set类型数据 |
redisTemplate.opsForZSet() | ZSet0perations | 操作SortedSet类型数据 |
redisTemplate | redisTemplate |
SpringBoot已经提供了对SpringDataRedis的支持,使用非常简单:
1.引入依赖
<!--Redis 依赖-->
<dependency>
<groupId>org.springframework.boot</ groupId>
<artifactId>spring-boot-starter-data-redis< / artifactId>
</dependency>
<!--连接池依赖-->
<dependency>
<groupId>org.apache. commons</groupId> <artifactId>commons-pool2</ artifactId>
</dependency>
2.配置文件
spring:
redis:
host: 192.168.150.101
port: 6379
password: 123321lettuce:
pool:
max-active: 8 #最大连接
max-idle: 8 #最大空闲连接
min-idle: 0 #最小空闲连接
max-wait: 100 #连接等待时间
3.注入RedisTemplate
@Autowired
private RedisTemplate redisTemplate;
4.编写测试
@springBootTest
public class RedisTest {
Autowired
private RedisTemplate redisTemplate;
@Test
void testString( {
//插入一条string类型数据
redisTemplate.opsForValue( ).set( ""name","李四");
//读取一条string类型数据
object name = redisTemplate.opsForvalue( ).get( "name");
System.out.println ( "name = " + name);
}
}