Redis的安全机制
redis的安全防御模式
·
1.缓存穿透的解决方法:
1)布隆过滤器
布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率和删除困难。
2)流量限制
当在某一时间段服务器接收大量请求时,做流量的限制,超过某一值则启动限流模式
3)分布式缓存
减轻数据库的访问压力,当在已经查询过一次某key时,再次查询此key就不用再次查询数据库,直接在缓存中取便可
2.Redsi服务器崩了
1)哨兵模式(选一个当主机)
当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用。这不是一种推荐的方式,更多时候,我们优先考虑哨兵模式。
能够自动后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库。哨丘模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的讲程,作为讲程,它会独立运行,其原理是哨丘通过发送命令,等待Redis服务器响应,从而监控运行的多个Redis实例。
3.缓存雪崩
当搜索一个不存在的key时,需要查询数据库,当恶意搜索太多时(数据库查无此key),需要大量查询导致缓存雪崩
1)设置查询空的key短的过期时间
2) redis集群,即将缓存分摊给其他redis服务器,避免缓存雪崩时后果太严重
更多推荐
已为社区贡献2条内容
所有评论(0)