【第九课 + 第十课】技术选型:缓存架构 + 消息队列与异步架构
分布式缓存架构
缓存定义
缓存:存储在计算机上的一个原始数据复制集,以便访问
缓存是介于数据访问者和数据源之间的一种高速存储,当数据需要多次读取的时候,用于加快读取的速度。
缓存(Cache)和缓冲(Buffer)的区别
主要区别:目的不同
- 缓存的目的是利用高速存储设备暂存数据,以便调用者高速**多次**读取数据
- 缓冲的目的是利用高速存储设别暂存数据,以便使用者慢速读取数据
操作不同
- 缓存只有读操作
- 缓冲有读和写操作
应用不同
- 缓存 --> 缓存线上热数据,Redis
- 缓冲 --> 磁盘或网络I/O数据
缓存的应用
CPU 缓存
操作系统缓存
数据库缓存
JVM 编译缓存
CDN 缓存
代理和反向代理缓存
前端缓存
应用程序缓存
分布式对象缓存
缓存存储结构
存储结构:Hash 和 红黑树
缓存的关键指标
缓存命中率
缓存是否有效依赖于能多少次重用同一个缓存响应业务请求,这个度量指标被称作是缓存命中率
如果查询一个缓存,十次查询九次能够得到正确结果,那么它的命中率是90%
决定命中率的因素
缓存键集合大小
缓存可使用内存空间
缓存对象生存空间
缓存分类
通读缓存 (read_through)
代理缓存,反向代理缓存,CDN缓存
通读缓存给客户端返回缓存资源,并在请求未命中缓存时获取实际数据
客户端连接的是通读缓存而不是生成响应的原始服务器
评论