后端开发中缓存的作用以及基于Spring框架演示实现缓存

缓存的作用及演示

现在我们使用的程序都是通过去数据库里拿数据然后展示的

长期对数据库进行数据访问

这样数据库的压力会越来越大

数据库扛不住了

创建了一个新的区域

程序访问去缓存 缓存区数据库

缓存里放数据

有效降低数据访问的压力

我们首先进行一个演示

为了演示缓存我手搓了一个案例

挑战5分钟内基于Springboot+SpringMVC+Mybatis-plus快速构建web后端三层架构-CSDN博客

计算机中主存→高速缓存→CPU,高速缓存容量小速度快,可存放一些数据在缓存中,cpu下次直接从缓存中读取

我们连续进行两次查询

会给数据库带来很大的压力

因为我们会读取很多次

所以我们要手搓缓存

我们选择在我们的业务层中去操作

创建一个哈希集合

把查询过的数据放入 每次都找一下

再次查询时就能在cache中去找了

我们也可以用redis去做 但是大材小用

用redis你的service层也需要这套逻辑

缓存可以有效降低磁盘io的次数

同理

手机验证码验证效果

业务层

控制层

Spring缓存

我们在Spring里引入了依赖

复制代码
<!--        缓存的起步依赖-->
        <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);
    }

}

我们进入业务层

设置方法使用缓存

通过一个注解就能设置缓存

复制代码
@Override
@Cacheable(value="cacheSpace",key="#id")
public User getById(Integer id) {
    return userDao.selectById(id);
}

个人号推广

博客主页

多多!-CSDN博客

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

相关推荐
yoyo_zzm2 分钟前
MySQL的索引
android·数据库·mysql
未来龙皇小蓝4 分钟前
【MySQL-索引调优】06:最左匹配原则及优化
数据库·mysql·oracle·性能优化
码事漫谈8 分钟前
防患未然,金仓数据库SQL防火墙筑牢数据安全“第一道门”
后端
宸翰11 分钟前
Python学习:年轻人的第一个入门Python项目(FastAPI版)
后端·python
AsDuang12 分钟前
Python 3.12 MagicMethods - 55 - __irshift__
开发语言·python
Moment13 分钟前
MiniMax 发布 M2.7,Agent 开始走向自我进化
前端·后端·面试
Detachym14 分钟前
InsightFlow 服务配置优化与部署实践
java·spring boot·tomcat·maven·状态模式·jar
y = xⁿ15 分钟前
【LeetCodehot100】T23:合并k个升序链表
java·数据结构·链表
肌肉娃子16 分钟前
2026.3.18.为什么doris冷启动查询如此之慢呢
后端
流水武qin23 分钟前
SpringAI多模态的基本使用
java·spring boot·spring·ai