缓存-思维导图
2022-05-05 10:48:53 5 举报
AI智能生成
缓存相关知识点总结
作者其他创作
大纲/内容
缓存核心指标:缓存命中率
计算:存是否有效依赖于能多次重用同一个缓存响应业务请求
影响三要素
缓存键集合大小
缓存空间
缓存有效期
缓存使用场景
避免给频繁修改的数据增加缓存
给热点访问的数据增加缓存
高并发场景
缓存的特点
方便使用
性能提升明显
存储格式-哈希表-kv,时间复杂度O(1)
分类
是否连接数据资源
通读缓存(read-through)
代理缓存
反向代理缓存
CDN缓存
旁路缓存(cache-aside)
对象缓存
缓存与应用的耦合度
本地缓存
分布式缓存
基本介绍
缓存为什么能提升性能
缓存的数据通常来自内存,相比磁盘上的数据有更快的访问速度
缓存降低数据库、磁盘、网络的负载压力,使得这些IO设备获得更好的响应特性
缓存存储数据的最终形态,不需要中间计算,减少cpu的资源的消耗
各种介质数据访问延迟
cpu registers L1
1ns
cpu registers L2
3ns
cpu registers L3
15ns
本地内存
80ns
ssd磁盘搜索
0.1ms
网络数据再统一数据中心来回一次的实际
0.5ms
磁盘-非ssd
10ms
按顺序从网络读取1MB数据
10ms
按顺序从磁盘读取1MB数据
10ms
跨大西洋网络数据包一次来回延时
150ms
缓存清空策略-redis
针对设置了过期时间的key
volatitle-ttl
越早过期的越先删除
volatile-random
随机进行删除
volatile-lru
使用lru算法进行删除
volatile-lfu
使用lru进行删除
针对所有的key
allkeys-random
随机进行删除
allkeys-lru
使用lru算法进行删除
allkey-lfu
使用lru进行删除
不处理
noeviction
不会剔除任何数据,拒绝所有写入操作并返回客户端错误信息"
(error)OOM command not allowed when used memory"
(error)OOM command not allowed when used memory"
引发的问题
数据一致性问题
先写库还是先写缓存?
cache aside pattern + 延时双删
缓存穿透
布隆过滤器
缓存击穿
缓存雪崩
分布式缓存
分布式缓存架构
分布式缓存模型
分布式缓存组件
分布式算法
余数哈希
一致性哈希
0 条评论
下一页