Spring 集成 Redis 模块的使用教程

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


版权声明:本文为weixin_43252521原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。