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

什么是缓存

一、什么是缓存?

定义:

  • 缓存是数据交换的缓冲区(Cache)
  • 临时存储数据的地方
  • 读写性能较高

简单理解:

缓存 = 临时仓库
- 把常用的东西放在临时仓库(缓存)
- 需要时快速取用
- 比从主仓库(数据库)取快很多

二、缓存的层次结构

层次位置作用速度容量
浏览器缓存用户浏览器缓存网页、图片等最快较小
应用层缓存应用服务器(如Tomcat)缓存业务数据中等
数据库缓存数据库服务器缓存查询结果较快较大
CPU缓存CPU内部缓存指令和数据极快很小
磁盘缓存硬盘缓存磁盘数据较大

数据流向:

浏览器缓存
    ↓(未命中)
应用层缓存(如Redis)
    ↓(未命中)
数据库缓存
    ↓(未命中)
CPU缓存/磁盘缓存
    ↓(未命中)
数据库/硬盘

三、缓存的作用(优点)

作用说明例子
降低后端负载减少对数据库的访问1000个请求,900个从缓存取,只有100个查数据库
提高读写效率缓存速度快,响应快从缓存取数据:1ms,从数据库取:100ms
降低响应时间用户等待时间更短有缓存:0.1秒,无缓存:1秒

实际效果:

无缓存:
用户请求 → 查数据库(慢)→ 返回结果(1秒)

有缓存:
用户请求 → 查缓存(快)→ 返回结果(0.01秒)

四、缓存的成本(缺点)

成本说明解决方案
数据一致性成本缓存和数据库数据可能不一致设置过期时间、更新时同步
代码维护成本需要写缓存逻辑,代码更复杂封装缓存工具类
运维成本需要维护缓存服务器(如Redis)监控、备份、扩容

实际影响:

数据一致性:
- 数据库更新了,缓存可能还是旧数据
- 需要同步更新缓存

代码维护:
- 需要写:查缓存 → 查数据库 → 更新缓存
- 代码更复杂

运维成本:
- Redis服务器需要维护
- 需要监控、备份

五、缓存使用场景

场景是否适合用缓存原因
热点数据✅ 适合访问频繁,缓存效果好
读多写少✅ 适合读操作多,缓存命中率高
实时性要求低✅ 适合可以接受短暂的数据延迟
实时性要求高❌ 不适合需要实时数据,缓存可能延迟
写多读少❌ 不适合写操作多,缓存命中率低

六、缓存最佳实践

实践说明例子
设置过期时间避免数据一直存在验证码2分钟过期
更新时同步数据库更新时更新缓存用户信息更新,同时更新Redis
缓存穿透防护防止查询不存在的数据查询空结果也缓存(短时间)
缓存雪崩防护避免大量缓存同时过期过期时间加随机值
监控缓存命中率了解缓存效果命中率90%以上较好

七、缓存存在哪里

问题答案
缓存存在哪里?主要在内存中
为什么用内存?速度快,适合临时存储
Redis存在哪里?Redis服务器的内存中
断电后数据会丢失吗?会(但可以配置持久化)
你的项目缓存存在哪里?Redis服务器的内存中
http://www.dtcms.com/a/585215.html

相关文章:

  • 电力设备多模态数据融合与自适应阈值在线状态评估
  • 顺序表vector--------练习题8题解
  • 百度C++实习生面试题深度解析
  • rnn lstm transformer mamba
  • 卷积神经网络(CNN)全面解析
  • 50_AI智能体运维部署之集成LangSmith实现全链路追踪:AI系统的可观测性实践
  • Java 9 + 模块化系统实战:从 Jar 地狱到模块解耦的架构升级​
  • 及时通讯桌面端应用基vue+GO
  • 三个常听到的消息/中间件MQTT RabbitMQ Kafka
  • QML学习笔记(五十四)QML与C++交互:数据转换——QVariantList与QVariantMap
  • Linux的基础IO流
  • RabbitMQ死信交换机与延迟队列:原理、实现与最佳实践
  • 网站建设人员叫什么科目wordpress站长地图
  • Kafka安装搭建
  • 深度血虚:Django水果检测识别系统 CNN卷积神经网络算法 python语言 计算机 大数据✅
  • 郑州h5网站建设信息流推广
  • Git-新建分支并推送远程仓
  • 团关系转接网站建设免费psd模板素材
  • 永磁同步电机MTPA控制详解:从理论到实践的全方位指南
  • 【GORM(3)】Go的跨时代ORM框架!—— 数据库连接、配置参数;本文从0开始教会如何配置GORM的数据库
  • AIStarter 服务器版 PanelAI 开源+早鸟票 抢商业永久授权
  • 【项目】pyqt5基于python的照片整蛊项目
  • 深入理解Java堆栈:从原理到面试实战
  • MySQL快速入门——基本查询(下)
  • PyTorch深度学习进阶(二)(批量归一化)
  • 基于字符串的专项实验
  • CPO-SVM回归 基于冠豪猪优化算法支持向量机的多变量回归预测 (多输入单输出)Matlab
  • 飞凌嵌入式ElfBoard-标准IO接口之关闭文件
  • Rust 练习册 :Prime Factors与质因数分解
  • 12380网站开发apache wordpress rewrite