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