Spring 集成 Redis 模块的使用教程

导读:本篇文章讲解 Spring 集成 Redis 模块的使用教程,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

为了方便 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

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!