温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Cache缓存有啥作用

发布时间:2026-08-30 07:42:44 来源:亿速云 阅读:87 作者:小樊 栏目:数据库

Cache(缓存)是一种高速数据存储层,位于应用程序和数据源(如数据库、文件系统、远程 API)之间,主要作用是提升系统性能、减轻后端压力、优化用户体验。下面从核心作用、原理、常见场景和注意事项几个方面说明。


一、Cache 的核心作用

1. 提升访问速度(性能优化)

  • 缓存通常存储在**内存(如 Redis、Memcached)**中,访问速度比磁盘或网络请求快得多。
  • 直接从缓存读取数据,避免重复计算或 IO 操作。

✅ 示例:
数据库查询需要 100ms,缓存命中后只需 1ms。


2. 减轻后端压力(保护数据库 / 接口)

  • 减少数据库查询次数,避免数据库被打爆。
  • 对高并发场景尤为关键。

✅ 示例:
热门商品详情页,10000 次请求只查 1 次数据库,其余都走缓存。


3. 提高系统并发能力

  • 缓存能显著提升系统 QPS(每秒请求数)
  • 减少阻塞和响应时间。

✅ 示例:
原本 500 QPS 极限,加缓存后可轻松支撑 5000+ QPS。


4. 改善用户体验

  • 页面加载更快
  • 接口响应更及时
  • 移动端更省流量

✅ 示例:
App 首页接口缓存后,秒开。


二、缓存的基本原理

基本流程

请求 → 先查缓存
        ├─ 命中 → 直接返回
        └─ 未命中 → 查数据库 → 写入缓存 → 返回

三、常见缓存类型

1. 本地缓存

  • 存在于应用进程中
  • 速度快,但不可共享

✅ 示例:

  • Java:CaffeineGuava Cache
  • Python:functools.lru_cache

2. 分布式缓存

  • 多台服务器共享
  • 常用于微服务架构

✅ 示例:

  • Redis
  • Memcached

3. 浏览器缓存

  • 静态资源(JS、CSS、图片)
  • 减少重复下载

✅ 示例:

  • HTTP Cache
  • CDN 缓存

四、典型使用场景

场景 说明
热点数据 用户信息、配置数据
商品详情 电商商品页
会话信息 登录态、Token
计算结果 报表、统计数据
接口防刷 限流、计数

五、缓存常见问题(重点)

1. 缓存穿透

  • 请求的数据根本不存在
  • 缓存和数据库都没有

✅ 解决:

  • 缓存空值
  • 参数校验

2. 缓存击穿

  • 热点 key 过期瞬间,大量请求打向数据库

✅ 解决:

  • 互斥锁
  • 永不过期 + 异步更新

3. 缓存雪崩

  • 大量 key 同时失效

✅ 解决:

  • 过期时间加随机值
  • 多级缓存

4. 数据一致性

  • 更新数据库后,缓存未及时更新

✅ 解决:

  • 先更新 DB,再删除缓存
  • 延时双删
  • 订阅 binlog(如 Canal)

六、一句话总结

Cache 的核心作用就是:用空间换时间,用速度换成本。

如果你愿意,我可以:

  • Redis 实战示例 讲缓存
  • 结合 电商 / 秒杀 / 接口优化 场景
  • 帮你分析 什么时候该用缓存,什么时候不该用

你现在是在哪类系统里考虑用缓存?

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI