spring boot整合 cache 以redis服务 处理数据缓存 便捷开发

我们常规开发中 就是程序去数据库取数据

然后返回给客户端

但是 如果有些业务业务量非常庞大 不断访问数据库 性能就会非常糟糕 从而造成不好的用户体验

那么 我们自然就可以将数据查到缓存中 然后 用户访问 从缓存中取

这样就会大大提高用户的访问效率

之前 我的文章 java springboot将接口查询数据放在系统中 一小时系统更新一次 避免用户访问接口查询数据库缓慢 构建了一个比较基础的存储环境

这是 我们访问数据库的方法 调用了

我们 这里用了 mybatisplus 框架的 list 查询全部函数

带出了整张表的数据

springboot其实提供了缓存技术

首先 我们要导入对应的坐标 pom.xml 代码如下

xml 复制代码
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-cache</artifactId>
</dependency>

首先 我们要做 启动类上 加一个 EnableCaching注解 告诉它 我们要开启缓存功能

我们这个方法中 所有的属性类 都要 implements 一下 这个 Serializable 类

不然 你这个数据是没办法被序列化的 就会报错

java.lang.IllegalArgumentException: DefaultSerializer requires a Serializable payload but received an object of type [XXXl]

然后 要启动 redis 服务 然后 要配置连接

可以参考我的文章 java springboot整合Redis

然后 我们找到 springMVC 方法 这样改一下

加了一个 org.springframework.cache.annotation.Cacheable 注解 value 存储名字

Cacheable 中有 可以设置 value和key

例如 这种根据id查询 的 我们就可以在后面在加个 key 这样 他就会在这个存储空间中 根据id为key去找到对应的数据 就不怕你根据id查 多条不一样的问题了

此时 我们查询接口

第一次明显走了数据库

我们再调一次接口 明显这里就是空的了

相关推荐
纪莫39 分钟前
技术面:如何让你的系统抗住高并发的流量?
java·redis·java面试⑧股
菜鸟小九2 小时前
redis高级(存储能力问题)
数据库·redis·缓存
+VX:Fegn08952 小时前
计算机毕业设计|基于springboot + vue酒店预订系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
小北方城市网3 小时前
MySQL 索引优化实战:从慢查询到高性能
数据库·spring boot·后端·mysql·rabbitmq·mybatis·java-rabbitmq
Chan163 小时前
《Java并发编程的艺术》| 并发关键字与 JMM 核心规则
java·开发语言·数据库·spring boot·java-ee·intellij-idea·juc
汤姆yu3 小时前
基于springboot的植物花卉销售管理系统
java·spring boot·后端
海南java第二人3 小时前
Spring Boot Starters深度解析:简化依赖管理的核心利器
java·spring boot·后端
韩立学长3 小时前
Springboot喵趣网上宠物店的设计和实现5pidz60b(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端
让我上个超影吧4 小时前
天机学堂——播放进度方案优化
java·spring boot·redis·spring cloud
深入技术了解原理4 小时前
引入eureka依赖但是无法注册:无法解析配置属性 ‘eureka.client.service-url.defaultZone‘
spring boot·spring cloud·云原生·eureka