慕课网高并发实战(十二)-高并发缓存

慕课网高并发实战(十二)-高并发缓存_第1张图片

                                                                           缓存的特征


慕课网高并发实战(十二)-高并发缓存_第2张图片


慕课网高并发实战(十二)-高并发缓存_第3张图片

高频访问,时效性小的业务


慕课网高并发实战(十二)-高并发缓存_第4张图片


慕课网高并发实战(十二)-高并发缓存_第5张图片

缓存一致性:


慕课网高并发实战(十二)-高并发缓存_第6张图片
慕课网高并发实战(十二)-高并发缓存_第7张图片
慕课网高并发实战(十二)-高并发缓存_第8张图片

缓存穿透:在高并发场景下,如果某一个key被高并发的访问没有被命中,处于对容错性的考虑,会尝试从后端数据库获取,从而使大量的请求达到数据库,该key对应的数据的本身为空的情况下,导致了数据库并发执行了许多不必要的查询操作

避免:1 对空的对象也进行缓存,(ex:空集合 缓存空集合 单个对象可以通过字段标识)适合命中不高,频繁更新的数据

2 单独过滤处理 ,对所有key对应数据为空的key统一存放,并在请求前做拦截   适合命中不高,不频繁更新的数据



慕课网高并发实战(十二)-高并发缓存_第9张图片

1 缓存抖动:缓存节点故障导致,通过一致性hash算法解决

缓存雪崩:由于缓存的原因,大量的请求到达后端数据库,导致数据库崩溃,整个系统崩溃发生灾难

原因:缓存并发 缓存穿透  缓存抖动 可能会被恶意攻击者利用 某一个节点缓存集中失效了(设置不同的过期时间,避免缓存集中失效  限流 降级  熔断等手段 多级缓存避免灾难,加强压力测试)

你可能感兴趣的:(慕课网高并发实战(十二)-高并发缓存)