为了方便 Java 对 Redis 进行操作,Spring 对 Redis 也进行了集成,集成的模块称为 SpringDataRedis,主要包括以下功能作用:
- 提供了对不同 Redis 客户端的整合(Lettuce 和 Jedis)。
- 提供了对 RedisTemplate 统一 API 来操作 Redis.
- 支持 Redis 的发布订阅模型。
- 支持 Redis 哨兵和 Redis 集群。
- 支持基于 Lettuce 的响应式编程。
- 支持基于 JDK、JSON、字符串、Spring 对象的数据序列化和反序列化。
- 支持基于 Redis 的 JDKCollection 实现。
SpringDataRedis 中提供了 RedisTemplate 工具类,其中封装了各种对 Redis 的操作,并且将不同数据类型的操作 API 封装到不同的类型中:
API | 返回值类型 | 说明 |
---|---|---|
redisTemplate.opsForValue() | ValueOperations | 操作String类型数据 |
redisTemplate.opsForHash() | HashOperations | 操作Hash类型数据 |
redisTemplate.opsForList() | ListOperations | 操作List类型数据 |
redisTemplate.opsForSet() | SetOperations | 操作Set类型数据 |
redisTemplate.opsForZSet() | ZSetOperations | 操作SortedSet类型数据 |
redisTemplate | 通用的命令 |
简单了解了 SpringDataRedis 的功能之后,下面便开始创建一个工程,体验一下 SpringDataRedis 的使用。
1、引入 SpringDataRedis 相关的依赖,以及测试依赖到 pom 文件中:
<!--redis 依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!--common-pool-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
<!--test-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
2、配置 application.yml 文件
spring:
redis:
port: 6379
# 需要连接的主机地址
host: xxx
# redis 数据库连接密码
password: xxx
lettuce:
pool:
max-active: 8 # 最大连接
max-idle: 8 # 最大空闲链接
min-idle: 0 # 最小空闲连接
max-wait: 1000ms # 连接等待时间
3、注入 RedisTemplate
@Autowired
private RedisTemplate<String, Object> redisTemplate;
4、编写测试
@Test
void testString() {
// 写入一条 String 数据
redisTemplate.opsForValue().set("name", "华仔仔coding");
// 获取 String 数据
Object name = redisTemplate.opsForValue().get("name");
System.out.println("name = " + name);
}
可以看到运行结果,打印出来的结果为 name=jack.
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/5164.html