Spring全家桶—SpringBoot2集成Redis缓存

//本文作者:cuifuan

//本文将收录到菜单栏:《Spring全家桶》专栏中

Spring Boot Redis Cache

在此章,我们将SpringBoot2.x集成Redis Cache,Redis是一个开源的,基于内存的数据结构存储,可以用作数据库、缓存和消息代理,在本章仅讲解缓存集成。

准备工作

当前项目工具及环境

现在去初始化一个Spring网站初始生成一个SpringBoot项目

Spring Boot Redis 项目生成

进入网站 https://start.spring.io/

我们现在使用 工具生成一个初始化项目,在这里我们初始了4个依赖包

点击生成下载过来一个zip包,解压之后导入IDEA工具就可以了

项目导入开发环境

build.gradle文件和maven的pom.xml相似,可以构建项目的依赖配置文件

在IDEA初始界面点击OPEN -> 选择文件 -> 找到.gradle文件 -> 选择Open —> Open as Project

这里的gradle环境是本地的,很简单安装配置,gradle官网下载二进制包然后解压,环境变量配置一下就可以使用了

Spring Boot Redis Cache Gradle Dependenciesbuild.gradle

定义一个实体对象

要将数据存到redis,我们需要定义一个实体来进行交互,并需要序列化实体对象

User.java

配置 Redis Cache

使用springboot的依赖我们已经用gradle来完成,除此之外我们还要配置下:

application.yml

基于JPA的简洁数据操作

UserRepository.java

开启缓存并初始化数据

在启动类增加注解 开启缓存

并实现CommandLineRunner接口来执行启动完成之后的任务

RedisCacheApplication.java

控制层骨架

UserController.java

现在测试缓存

当我们数据库查询出来的值要放到缓存里,用 注解

我们访问 localhost:8080/1 和 localhost:8080/3 分别两次

发现id为3的就走了一次方法 说明缓存成功

id为1的走了两次是因为 unless里条件成立就不会缓存到redis

更新缓存

每次当我们的数据库的值要更改,我们缓存的也要更改 ,我们可以使用 @CachePut 注解

删除缓存

当我们的数据从数据库删除,我们也要从缓存进行删除,我们可以使用 注解

allEntries 是否清空所有缓存内容,缺省为 false,如果指定为 true,则方法调用后将立即清空所有缓存

在redis中查看已经没有了缓存

送上redis可视化工具 redis desktop manager for windows:

链接:https://pan.baidu.com/s/1tYwfM0sHLlDGDdQZc-26Sg 密码:4ivg

redis desktop manager for mac:

链接:https://pan.baidu.com/s/1g9gxtLoAtm1IA0fA5Zs0qQ 密码:aj0r

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181227B08DCZ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券