缓存设计框架
3W1H
更新机制
过期更新
缓存有效期内一直用缓存,超过有效期后去重新读取。例如:HTTP缓存
定期更新
定期更新缓存。例如:后台每隔10分钟更新Redis缓存
主动更新
当数据修改后,主动更新缓存。例如:业务写数据库时更新Redis缓存,视频更新后通知CDN更新
多级缓存架构
设计关键点
5级缓存架构
4级缓存架构
3级缓存架构
缓存技术概要介绍
本地缓存
APP
定义
APP将数据缓存在本地
应用场景
所有能缓存的都可以缓存
常见技术
- SQLLite缓存
- 本地文件缓存
- 图片缓存
HTTP
定义
HTTP标准协议缓存
应用场景
HTTP资源
具体实现
- 参考HTTP协议、Cache-Control等指令
CDN缓存
定义
Content Delivery Network,即内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率,关键技术是内容存储和分发技术
优缺点
- 功能强大,能够支撑超高流量
- 贵
典型场景
- 直播
- 视频
- 咨询
国内供应商
阿里云、腾讯云、金山云、七牛云等
Web容器缓存
Web容器缓存一般缓存静态资源,例如图片、JavaScript、CSS等,配合HTTP协议实现缓存
应用缓存+分布式缓存
应用缓存
定义
应用在本地缓存数据
应用场景
所有能缓存的都可以缓存
常见技术
- 进程内缓存、ConcurrentHashMap、OSCache、Ehcache等
- 进程外缓存,堆外内存
- 本地磁盘SSD缓存
分布式缓存
定义
由分布式系统提供缓存功能
应用场景
所有能缓存的都可以缓存
具体实现
- Redis
- Memcached