当前位置: 首页 > news >正文

后端中缓存的作用以及基于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

相关文章:

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

缓存的作用及演示 现在我们使用的程序都是通过去数据库里拿数据然后展示的 长期对数据库进行数据访问 这样数据库的压力会越来越大 数据库扛不住了 创建了一个新的区域 程序访问去缓存 缓存区数据库 缓存里放数据 有效降低数据访问的压力 我们首先进行一个演示 为了演示…...

Python:基础爬虫

Python爬虫学习&#xff08;网络爬虫&#xff08;又称为网页蜘蛛&#xff0c;网络机器人&#xff0c;在FOAF社区中间&#xff0c;更经常的称为网页追逐者&#xff09;&#xff0c;是一种按照一定的规则&#xff0c;自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字…...

机器人运动学笔记

一、建模 参考资料&#xff1a;https://zhuanlan.zhihu.com/p/137960186 1、三维模型和连杆、关节定义 2、设置z轴 SDH和MDH会不一样&#xff0c;主要的区别在于SDH中坐标系在连杆末端&#xff0c;MDH中坐标系在连杆首端。虽然这里只是给出z轴&#xff0c;但是由于后面原点位…...

webshell三巨头 综合分析(蚁剑,冰蝎,哥斯拉)

考点: 蚁剑,冰蝎,哥斯拉流量解密 存在3个shell 过滤器 http.request.full_uri contains "shell1.php" or http.response_for.uri contains "shell1.php" POST请求存在明文传输 ant 一般蚁剑执行命令 用垃圾字符在最开头填充 去掉垃圾字符直到可以正常bas…...

stm32MP135裸机编程:启动流程分析

0 参考资料 轻松使用STM32MP13x - 如MCU般在cortex A核上裸跑应用程序.pdf STM32MP135AD数据手册.pdf1 stm32MP135裸机启动流程分析 1.1 启动方式 stm32MP135支持8种启动方式&#xff1a; 注&#xff1a; UART和USB启动并不是指通过UART/USB加载程序&#xff0c;而是通过UA…...

在Pycharm使用Github Copilot

文章目录 1.GitHub Copilot 是什么2.注册GitHub Copilot3.官方使用文档4.安装 GitHub Copilot插件5.在Pycharm中使用6.相关功能键7.启用或禁用 GitHub Copilot 1.GitHub Copilot 是什么 GitHub Copilot 是一款 AI 编码助手&#xff0c;可帮助你更快、更省力地编写代码&#xff…...

Docker镜像构建:Ubuntu18.04+python3.10

1、编写 Dockerfile # 使用Ubuntu 18.04作为基础镜像 FROM ubuntu:18.04RUN apt-get update && apt-get install -y \build-essential \curl \zlib1g-dev \libssl-dev \&& rm -rf /var/lib/apt/lists/*ENV PYTHON_VERSION3.10.8RUN curl -O https://www.pytho…...

如何进行LLM大模型推理优化

解密LLM大模型推理优化本质 一、LLM推理的本质以及考量点 LLM推理聚焦Transformer架构的Decoder以生成文本。过程分两步&#xff1a;首先&#xff0c;模型初始化并加载输入文本&#xff1b;接着&#xff0c;进入解码阶段&#xff0c;模型自回归地生成文本&#xff0c;直至满足…...

QLoRA:高效的LLMs微调方法,48G内存可调65B 模型

文章&#xff1a;https://arxiv.org/pdf/2305.14314.pdf 代码&#xff1a;https://github.com/artidoro/qlora概括 QLORA是一种有效的微调方法&#xff0c;它减少了内存使用&#xff0c;足以在单个48GB GPU上微调65B参数模型&#xff0c;同时保留完整的16位微调任务性能。QLOR…...

力扣48. 旋转图像

给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在原地旋转图像&#xff0c;这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,2,3],[4,5,6],[7,8,9]] 输出…...

【踩坑日记】I.MX6ULL裸机启动时由于编译的程序链接地址不对造成的程序没正确运行

1 现象 程序完全正确&#xff0c;但是由于程序链接的位置不对&#xff0c;导致程序没有正常运行。 2 寻找原因 对生成的bin文件进行反汇编&#xff1a; arm-linux-gnueabihf-objdump -D -m arm ledc.elf > ledc.dis查看生成的反汇编文件 发现在在链接的开始地址处&…...

【计算机网络仿真实验-实验2.6】带交换机的RIP路由协议

实验2.6 带交换机的rip路由协议 1. 实验拓扑图 2. 实验前查看是否能ping通 不能 3. 三层交换机配置 switch# configure terminal switch(config)# hostname s5750 !将交换机更名为S5750 S5750# configure terminal S5750(config)#vlan 10 S5750(config-vlan)#exit S57…...

Apache网页优化

一、网页压缩与缓存 注意文章中的http为源代码包安装&#xff0c;配置时指定了mod_deflate、mod_expires、mod_rewrite模块。所有的模块是否生效可以通过在浏览器中找到"开发工具"中的网络选项卡中的信息进行验证&#xff0c;里面有请求报文和响应报文的部分信息。 通…...

OpenCV形态学

什么事形态学处理 基于图像形态进行处理的一些基本方法&#xff1b; 这些处理方法基本是对二进制图像进行处理&#xff1b; 卷积核决定着图像出来后的效果。 一 图像二值化 什么是二值化 将图像的每个像素变成两种值&#xff0c;如0,255. 全局二值化。 局部二值化。 thres…...

首途第三十三套清新简约卡片风格蓝紫渐变色短视频模板 | 苹果CMSV10主题

下载地址&#xff1a;首途第三十三套清新简约卡片风格蓝紫渐变色短视频模板 | 苹果CMSV10主题 首途第三十三套清新简约卡片风格蓝紫渐变色短视频模板 | 苹果CMSV10主题 我们的简约风格&#xff0c;以纯洁的白色和深邃的紫色为主色调&#xff0c;为您提供了一种清新、时尚的浏览…...

永磁同步直线电机(PMLSM)控制与仿真2-永磁同步直线电机数学模型搭建

文章目录 1、公式总结2、电压方程模型3、运动方程4、推力方程5、转化关系 写在前面&#xff1a;原本为一篇文章写完了永磁同步直线电机数学模型介绍&#xff0c;永磁同步直线电机数学模型搭建&#xff0c;以及永磁同步直线电机三环参数整定及三环仿真模型搭建&#xff0c;但因为…...

MPLS VPN一

R1为客户&#xff0c;现在进行一些基本配置&#xff0c;来确保可以通路由 先启动OSPF跑通 在R3上 等一会 现在启动MPLS 对R3 对R4 然后在R2上 再把接口划到空间里面 原来的IP在公网里面&#xff0c;被清除了 然后再配置接口 查看 对R1&#xff08;相当于客户&#xff09; …...

39python数据分析numpy基础之h5py读写数组数据到h5文件

1 python数据分析numpy基础之h5py读写数组数据到h5文件 HDF5(分层数据格式文件)是Hierarchical Data Format Version 5的缩写&#xff0c;是一种用于存储和管理大数据的文件格式。经历了20多年的发展&#xff0c;HDF格式的最新版本是HDF5&#xff0c;它包含了数据模型&#xf…...

2024全新仿麻豆视频苹果cms源码v10影视模板

下载地址&#xff1a;2024全新仿麻豆视频苹果cms源码v10影视模板 高端大气的设计&#xff0c;适合做电影、连续剧、综艺、动漫、微电影、纪录片、海外剧等视频网站...

这世上又多了一只爬虫(spiderflow)

让我们一起默念&#xff1a; 爬虫爬虫爬虫爬虫爬虫爬虫爬虫爬虫爬虫爬虫爬虫爬虫爬虫爬虫爬虫爬虫爬虫爬虫爬虫爬虫爬虫爬虫爬虫 接着大声喊出来&#xff1a; 一&#xff01;只&#xff01;爬&#xff01;虫&#xff01;呀&#xff01;爬&#xff01;呀&#xff01;爬&#xf…...

Chartist图表库终极指南:如何构建响应式数据可视化应用

Chartist图表库终极指南&#xff1a;如何构建响应式数据可视化应用 【免费下载链接】chartist Simple responsive charts 项目地址: https://gitcode.com/gh_mirrors/ch/chartist Chartist是一款轻量级且功能强大的响应式图表库&#xff0c;专为现代Web应用设计。它能够…...

JPlag代码抄袭检测:你的学术诚信守护神

JPlag代码抄袭检测&#xff1a;你的学术诚信守护神 【免费下载链接】JPlag State-of-the-Art Source Code Plagiarism & Collusion Detection. Check for plagiarism in a set of programs. 项目地址: https://gitcode.com/gh_mirrors/jp/JPlag 你是否曾为学生的代码…...

MobaXterm 全能终端神器:实战指南

写在前面&#xff1a;作为Windows下最全能的远程终端工具&#xff0c;MobaXterm 在 2026 年已迭代至 v26.0 版本。本文基于最新版&#xff0c;从工具选型对比、核心功能实战到效率提升技巧&#xff0c;带你真正掌握这款"瑞士军刀"。文末附赠快捷键大全和安全配置清单…...

利用Taotoken模型广场为不同AI应用场景挑选合适模型

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 利用Taotoken模型广场为不同AI应用场景挑选合适模型 面对文本生成、代码审查、智能对话、翻译等多样化的AI应用场景&#xff0c;如…...

Windows安装安卓APK的完整指南:APK Installer免费工具使用教程

Windows安装安卓APK的完整指南&#xff1a;APK Installer免费工具使用教程 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 还在为电脑无法运行安卓应用而烦恼吗&#x…...

DeepSeek(V3为主、兼顾V2/R1)算力优化细节详解

DeepSeek&#xff08;V3为主、兼顾V2/R1&#xff09;算力优化细节详解以下是针对核心优化模块的深入技术拆解&#xff0c;包含MLA数学原理、FP8精准实现、无辅助损失负载均衡、R1-GRPO算法核心&#xff0c;内容基于DeepSeek-V3官方技术报告及2026年5月公开权威分析。DeepSeek系…...

别再只用BigGantt了!这个免费JIRA甘特图插件Gantt Suite,配置简单速度快

轻量高效的JIRA甘特图解决方案&#xff1a;Gantt Suite全面评测与迁移指南 在项目管理领域&#xff0c;甘特图作为可视化排期的黄金标准已有百年历史。然而当这一经典工具遇上现代敏捷开发平台JIRA时&#xff0c;许多团队却陷入了两难境地——要么忍受BigGantt等老牌插件的臃肿…...

【独家】Lindy内部SLO白皮书泄露:自主工作流SLA达标率低于99.95%的5个致命信号

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Lindy AI Agent自主工作流的核心架构与SLO哲学 Lindy AI Agent 的核心架构基于“自治闭环”&#xff08;Autonomous Closed Loop&#xff09;范式&#xff0c;将任务规划、工具调用、状态反馈与自校准能…...

通过curl命令快速测试Taotoken提供的各类大模型API响应效果

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 通过curl命令快速测试Taotoken提供的各类大模型API响应效果 对于习惯命令行操作或需要在无SDK环境中验证集成的开发者而言&#xf…...

可编程逻辑器件(PLD/CPLD/FPGA)核心原理、选型指南与EDA设计实战

1. 项目概述&#xff1a;从怀旧到硬核&#xff0c;聊聊可编程逻辑的“前世今生”那天在网上闲逛&#xff0c;本想找点微马赛克艺术&#xff08;Micromosaic&#xff09;的制作视频&#xff0c;结果算法一个拐弯&#xff0c;把我带回了上世纪七八十年代的《大青蛙布偶秀》&#…...