1.1 什么是缓存
缓存:存储在计算机上的一个原始数据复制集合,以便于访问
缓存作为系统快速响应中的一种关键技术,介于应用开发和系统开发之间,是技术架构设计中非功能性约束。
缓存按照软件系统所处位置不同,缓存大体分为三类:
- 客户端缓存
- 服务端缓存
- 网络中缓存
按照规模与部署方式,缓存可以分为:
- 单体缓存
- 缓存集群
- 分布式缓存
注明:分布式就是通过计算机网络将后端工作分布到多台主机上,多个主机一起协同完成工作
1.2 为什么使用缓存
- 提高系统响应速度,增强用户体验
- 提供系统性能
1.3 网站架构看缓存
大型网站系统架构,如下
前端页面缓存,属于客户端缓存,作为第一层缓存,,大大加速了页面的访问速率\
数据缓存分布式缓存、动态页面缓存,分布式文件系统,第二层缓存
数据库集群,缓存优化
1.4 客户端缓存
- 页面缓存
- 浏览器缓存
- APP缓存
1.5 网络缓存
- Web代理缓存 较流行的Squid
- 边缘缓存 CDN
1.6 服务端缓存
- 数据库缓存
- Mysql查询缓存
- 检验Query Cache合理性
- InnoDB的缓存性能
- 平台及缓存
- Ehcache
- 应用级缓存
- Redis缓存应用
- 多级缓存实例
- 缓存算法
- 公共云的缓存服务
- 动态扩容
- 数据多备
- 自动容灾
- 成本较低