Redis常见问题及解决
2021/10/12 19:14:45
本文主要是介绍Redis常见问题及解决,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Redis
redis缓存雪崩
原因
redis中同一时间大量缓存过期,造成请求直接到数据库增加数据库压力;redis宕机,请求直接入数据库查询增大数据库压力
解决方案
针对redis不可用
-
采用redis集群,保证一节点挂掉不会影响cache
-
限流,避免同时处理大量的请求
针对redis中缓存同时过期
- 设置不同的过期时间
- 缓存永不过期(不推荐,内存爆炸)
redis缓存穿透
原因
大量请求携带无效redis-key进入,redis中查询不到,转到数据库查询,增加数据库压力
解决方案
优先做好入参的key的格式校验,非合法格式不允许进入。
其余解决方案:
- 布隆过滤器
- 数据库中未查询到时在redis中缓存空值(不推荐,无法防御不同的key构造)
布隆过滤器
原理
key进入布隆过滤器中采用多种hash函数进行hash处理,采用bit数组存放同一key不同的hash值,将hash值对应的数组下标位置置为1。当key再次进入布隆过滤器,hash运算后查找 ,如果都是1那么代表已经存在,直接过滤请求,如果某个为0,则代表未进入可放行
比如 "key".hash1 = 2;"key".hash2 = 3;"key".hash3 = 6
则会放入数组中 2、3、6的位置
如果数组初始化长度为10,则当前为[0,0,1,1,0,0,1,0,0,0]
优缺点
优点:能够过滤大部分无效key
缺点:
-
无法删除
-
可能存在相同的hash值,key可能不存在但是hash结果显示已被占用。(hash冲突)
这篇关于Redis常见问题及解决的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-08阿里云Redis项目实战入门教程
- 2024-11-08阿里云Redis资料:新手入门与初级使用指南
- 2024-11-08阿里云Redis教程:新手入门及实用指南
- 2024-11-07阿里云Redis学习入门:新手必读指南
- 2024-11-07阿里云Redis学习入门:从零开始的操作指南
- 2024-11-07阿里云Redis学习:初学者指南
- 2024-11-06阿里云Redis入门教程:轻松搭建与使用指南
- 2024-11-02Redis项目实战:新手入门教程
- 2024-10-22Redis入门教程:轻松掌握数据存储与操作
- 2024-10-22Redis缓存入门教程:快速掌握Redis缓存基础知识