缓存的作用及演示
![](https://img-blog.csdnimg.cn/direct/4fa224700762489797601bc65feda486.png)
现在我们使用的程序都是通过去数据库里拿数据然后展示的
长期对数据库进行数据访问
这样数据库的压力会越来越大
数据库扛不住了
创建了一个新的区域
程序访问去缓存 缓存区数据库
缓存里放数据
有效降低数据访问的压力
![](https://img-blog.csdnimg.cn/direct/4b1f8ea8afba4bebb1a210323d9a7596.png)
我们首先进行一个演示
为了演示缓存我手搓了一个案例
挑战5分钟内基于Springboot+SpringMVC+Mybatis-plus快速构建web后端三层架构-CSDN博客
计算机中主存→高速缓存→CPU,高速缓存容量小速度快,可存放一些数据在缓存中,cpu下次直接从缓存中读取
我们连续进行两次查询
会给数据库带来很大的压力
因为我们会读取很多次
所以我们要手搓缓存
我们选择在我们的业务层中去操作
创建一个哈希集合
把查询过的数据放入 每次都找一下
![](https://img-blog.csdnimg.cn/direct/9bb43d88e8d340498cfa093273e9a855.png)
再次查询时就能在cache中去找了
我们也可以用redis去做 但是大材小用
用redis你的service层也需要这套逻辑
缓存可以有效降低磁盘io的次数
![](https://img-blog.csdnimg.cn/direct/59a4d3ec3259460ebbf780564946e8fc.png)
同理
手机验证码验证效果
业务层
控制层
![](https://img-blog.csdnimg.cn/direct/fc76e5595fae49e78dc492d0aaf638eb.png)
![](https://img-blog.csdnimg.cn/direct/e2dbff983c9f445893d3b2fe577f8936.png)
Spring缓存
![](https://img-blog.csdnimg.cn/direct/3b18ab8520684da0a0e090681d664505.png)
我们在Spring里引入了依赖
![](https://img-blog.csdnimg.cn/direct/090862b857404eb4b9811eed7fb85a98.png)
<!-- 缓存的起步依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
接着我们要在启动响应类里面打上注解
启动缓存
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
@SpringBootApplication
//开启缓存
@EnableCaching
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
我们进入业务层
设置方法使用缓存
![](https://img-blog.csdnimg.cn/direct/53d69175849349e89e08a50ae2ff0769.png)
通过一个注解就能设置缓存
@Override
@Cacheable(value="cacheSpace",key="#id")
public User getById(Integer id) {
return userDao.selectById(id);
}
![](https://img-blog.csdnimg.cn/direct/03acc02178ed4c65afc2eb37a9c64719.png)
个人号推广
博客主页
Web后端开发
https://blog.csdn.net/qq_30500575/category_12624592.html?spm=1001.2014.3001.5482
Web前端开发
https://blog.csdn.net/qq_30500575/category_12642989.html?spm=1001.2014.3001.5482
数据库开发
https://blog.csdn.net/qq_30500575/category_12651993.html?spm=1001.2014.3001.5482
项目实战
https://blog.csdn.net/qq_30500575/category_12699801.html?spm=1001.2014.3001.5482
算法与数据结构
https://blog.csdn.net/qq_30500575/category_12630954.html?spm=1001.2014.3001.5482
计算机基础
https://blog.csdn.net/qq_30500575/category_12701605.html?spm=1001.2014.3001.5482
回忆录
https://blog.csdn.net/qq_30500575/category_12620276.html?spm=1001.2014.3001.5482