返回介绍

7.2 Spring Boot 集成 Redis 缓存

发布于 2025-04-26 13:53:50 字数 2650 浏览 0 评论 0 收藏

7.2.1 Spring Boot 缓存支持

在 Spring Boot 中提供了强大的基于注解的缓存支持,可以通过注解配置方式低侵入地给原有 Spring 应用增加缓存功能,提高数据访问性能。Spring Boot 配置了多个 CacheManager 的实现,我们可以根据具体的项目要求使用相应的缓存技术,如图 7-9 所示。

从图 7-9 可知,Spring Boot 支持许多类型的缓存,比如 EhCache、JCache、Redis 等。在不添加任何额外配置的情况下,Spring Boot 默认使用 SimpleCacheConfiguration,考虑到 Redis 缓存在企业中被广泛使用,故选择用 Redis 缓存来进行讲解。

图 7-9 Spring Boot 缓存配置类

7.2.2 引入依赖

在 Spring Boot 中集成 Redis,首先需要在 pom.xml 文件中引入所需的依赖,具体代码如下:

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

7.2.3 添加缓存配置

在 pom 文件中引入 Redis 所需的依赖之后,我们需要在 application.properties 文件中添加如下配置信息:

     ### redis 缓存配置
     ### 默认 redis 数据库为 db0
     spring.redis.database=0
     ### 服务器地址,默认为 localhost
     spring.redis.host=localhost
     ### 链接端口,默认为 6379
     spring.redis.port=6379
     ### redis 密码默认为空
     spring.redis.password=

7.2.4 测试用例开发

在 application.properties 配置文件中添加完 Redis 配置之后,在测试类 MySpringBootApplicationTests.java 中继续添加如下代码:

RedisTemplate 和 StringRedisTemplate 都是 Spring Data Redis 为我们提供的模板类,用来对数据进行操作,其中 StringRedisTemplate 只针对键值是字符串的数据进行操作。在应用启动的时候,Spring 会为我们初始化这两个模板类,通过 @Resource 注解注入即可使用。

RedisTemplate 和 StringRedisTemplate 除了提供 opsForValue 方法用来操作简单属性数据之外,还提供了以下数据访问方法。

(1)opsForList:操作含有 list 的数据。

(2)opsForSet:操作含有 set 的数据。

(3)opsForZSet:操作含有 ZSet(有序 set)的数据。

(4)opsForHash:操作含有 hash 的数据。

当我们的数据存放到 Redis 的时候,键(key)和值(value)都是通过 Spring 提供的 Serializer 序列化到数据库的。RedisTemplate 默认使用 JdkSerializationRedisSerializer,而 StringRedisTemplate 默认使用 StringRedisSerializer。

7.2.5 测试

7.2.4 节测试用例代码开发完成之后,运行单元测试用例,除了可以在控制台查看打印结果信息和在 redis 客户端查看数据之外,我们还可以使用 RedisClient 客户端工具查看 Redis 缓存数据库中的数据。大家可以到网络上下载 RedisClient 客户端软件并安装到自己的操作系统中。安装完成之后,可以看到如图 7-10 所示的界面。

图 7-10 RedisClient 界面

在图 7-10 中,我们可以看到 Redis 默认有 16 个数据库,客户端与 Redis 建立连接后会自动选择 0 号数据库。通过该客户端,我们可以清楚地查看 Redis 数据库中存放的数据情况,同时可以在客户端中对数据进行增删改查等操作,使用起来非常方便。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。