Redis中的大key和热key问题及其解决方案
创作时间:
作者:
@小白创作中心
Redis中的大key和热key问题及其解决方案
引用
CSDN
1.
https://blog.csdn.net/m0_61925586/article/details/141570068
在使用Redis时,大key和热key问题可能会严重影响系统性能。本文将详细介绍什么是大key和热key,它们可能带来的问题,以及如何判断和解决这些问题。
大key
什么是 big key?
big key:就是指一个内存空间占用比较大的键(Key)
造成的问题:
- 内存分布不均。在集群模式下,不同 slot分配到不同实例中,如果大 key 都映射到一个实例,则分布不均,查询效率也会受到影响。
- 由于 Redis 单线程执行命令,操作大 Key 时耗时较长,从而导致 Redis 出现其它命令阻塞的问题。
- 大Key对资源的占用巨大,在进行网络 I/O 传输的时候,导致你获取过程中产生的网络流量较大,从而产生网络传输时间延长甚至网络传输发现阻塞的现象,例如一个 key 2MB,请求个 1000 次 2000 MB。
- 客户端超时。因为操作大 Key 时耗时较长,可能导致客户端等待超时。
如何判断是否是big key?
大 Key 可能出现在不同的场景中,不过其本质都是相同的,就是对应的值所占内存非常大,但是要占用多少内存才算大key这没有绝对的说法,主要还是取决于具体的场景以及应用需求,例如:
set key "大型字符串,xxxxxx······(此处省略无数个字符)"
HMSET student:8927 name "big" nickname "大型哈希表"
到底占用多少内存才算得上是 big key 呢?这个没有一个绝对的说法,主要取决于具体的场景以及应用需求。参考阿里云redis文档:
使用bigkeys命令查询bigkeys
这个是 Redis 内置的指令,直接在 Redis 的客户端 redis-cli 中就可以使用,该命令可以获取 Redis的整体信息,并且显示每种类型数据中最大的 Key。
如何解决 big key问题?
开发方面:
- 对要存储的数据进行压缩,压缩之后再进行存储
- 大化小,即把大对象拆分成小对象,即将一个大 Key 拆分成若干个小 Key,降低单个 Key 的内存大小
- 使用合适的数据结构进行存储,比如一些用 String 存储的场景,可以考虑使用 Hash、Set 等结构进行优化
业务层面:
- 根据实际情况,调整存储策略,只存一些必要的数据
- 优化业务逻辑,从根源上避免大 Key 的产生
数据分布方面:
- 采用 Redis 集群方式进行 Redis 的部署,然后将大 Key 散落到不同的服务器上面,加快响应速度
热key
什么是热key
热key:通常是key的访问频率占比过大,或带宽占比过大的key
热key导致的问题:因为 Redis 的读写是单线程执行的,所以热点 key 可能会影响 Redis 的整体效率,消耗大量的 CPU 资源,从而降低 Redis 的整体吞吐量。集群环境下会使得流量不均衡,从而导致读写热点倾斜问题的发生。
如何解决热Key问题
采用多级缓存
- 例如使用本地缓存,在应用层就返回数据,避免请求再发送到 Redis。
- 或者使用前端缓存,例如将数据存储到浏览器中,这样一段时间内请求都不需要发送到后端。
- 或者使用 CDN 缓存之类的,总之设置多级缓存,设定好业务允许的过期时间,分流请求,均分压力。
热点 key 拆分
如果某个Key包含了大量的数据,可以将其拆分成多个Key。例如,将一个大的List拆分成多个小的List,并且采用不同的Key
热门推荐
疲劳管理:科学应对工作与生活压力
《红楼梦》第十一回:家族伦理的崩塌与人性困境的显现
“先爬后走”的娃,与“不爬就走”的孩子有啥区别?4点差距明显
提升安全教育培训:建立明确目标与周密计划
《无所畏惧2》大结局:看懂韩之通的保护,才明白邱华的报复
谨防脑梗再次复发,医生提醒:3类食物要少吃
英语作文写作指南:明确写作目的和受众
揭秘古代宫廷:被翻牌子的妃子,次日为何需人搀扶?
最大宇宙3D地图表明暗能量似乎越来越弱
清蒸鲈鱼的简单做法与美味享受,家庭聚餐首选佳肴
为有效的用户留存率而设计
什么是全面激励性薪酬?
如何将《金刚经四句偈》的智慧,融入日常生活中?
泰森vs李小龙,谁能胜出?李小龙已故,可否击败泰森?
Word制作个人简历:从页面设置到内容填写的完整指南
德宏申领失业保险待遇,条件什么?需提交哪些材料?
最新《指南》对痛风日常食养提出了7条建议,还有推荐食物名单……
如何用照片说故事?首先得会读照片
《伊斯兰文明——源起阿拉伯半岛》:一部理解伊斯兰文明的权威之作
大型安多藏戏《金城公主》赴京参加第八届中国戏曲文化周“精品大戏展”
学士学位是什么学历是否被认可
爱自己的60种方式,建议收藏
西甲第23轮前瞻:西班牙人vs毕尔巴鄂竞技,巴斯克雄狮能否延续不败金身?
会计学习秘诀:怎样才能轻松掌握?
2025跨年演讲谁最硬核,讲量子力学的张朝阳“赢麻了”
华宝人工智能ETF份额骤减4300万,背后折射的市场变化与风险思考
如何翻译API文档文件
PVE安装卡在"Loading Driver"的快速解决方案
《何以笙箫默》:一部关于爱情、成长与内心挣扎的深刻小说解析
温拿健康:腰肌劳损的康复锻炼指南:科学运动,重焕腰部活力