redis雪崩和穿透的解决方法


redis雪崩和穿透的解决方法

文章插图

redis穿透指当用户查询的key在redis中不存在 , 对应的id在数据库也不存在 , 此时被非法用户进行攻击 , 大量的请求会直接打在db上 , 造成宕机 , 从而影响整个系统 。解决方法:把空的数据也缓存起来 , 比如空字符串 , 空对象 , 空数组或list 。
【redis雪崩和穿透的解决方法】redis雪崩是指缓存中的数据大批量失效 , 然后这个使用又要大量的请求进来 , 但是由于redis中的key全部失效了所有会全部请求到db上 , 造成宕机 。解决方法:设置对应热点key永不过期 。过期时间错开 , 过期时间使用随机生成 , 并且热点数据的过期时间设置的长一点 , 非热点数据可以设置短一点 。多缓存结合 , 例如:请求进入 , 可以现请求redis , 当redis中不存在的时候再去请求memcache , 如果都没有再去请求db 。

    推荐阅读