黑马点评-06缓存雪崩问题(大量key失效)及其解决方案

缓存雪崩问题(大量key失效)

解决方案

缓存雪崩是指在同一时段大量的缓存key同时失效或者Redis服务宕机,导致大量请求到达数据库给服务器带来巨大压力

  • 当我们批量导入缓存数据的时候可以给不同的Key的TTL添加随机值,让其在不同时间段分批失效
  • 利用Redis集群提高服务的可用性
    • 使用一个或者多个哨兵(Sentine)实例组成的系统,对redis节点进行监控
    • 在主节点出现故障的情况下,能将从节点中的一个升级为主节点,进行故障转移保证系统的可用性
  • 给缓存业务添加降级限流策略
  • 给业务添加多级缓存,即使Redis缓存失效了,其他缓存还能起作用
    • 浏览器访问静态资源时,优先读取浏览器本地缓存
    • 访问非静态资源如发起ajax请求查询数据则需要访问服务端
    • 请求到达Nginx后,优先读取Nginx本地缓存;如果Nginx本地缓存未命中,则去直接查询Redis(不经过Tomcat)
    • 如果Redis查询未命中才会去查询Tomcat;请求进入Tomcat后,优先查询JVM进程缓存;如果JVM进程缓存未命中,则查询数据库

黑马点评-06缓存雪崩问题(大量key失效)及其解决方案_第1张图片

你可能感兴趣的:(黑马点评,缓存,redis)