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