Redis大Key问题怎么解决

news/2025/12/5 16:46:38/文章来源:https://www.cnblogs.com/xfydaydayup/p/19312758

🚨 一、什么是 Redis 大 Key?

大 Key:指单个 key 存储的数据量过大(value 大)或元素过多(集合类)。

典型例子:

  • 一个 string value 是 1MB、10MB
  • 一个 hash 里有 5 万字段
  • 一个 list 里 10 万项
  • 一个 set 装几百万用户 ID
  • 一个 zset 存了几百万点赞记录

⚠ 大 Key 不仅大,还会 影响性能、阻塞、CPU、网络带宽、业务延迟


💣 二、大 Key 的危害(这些都是线上事故根源)

① 阻塞 Redis 单线程(最危险)

Redis 是单线程,大 key 操作(如 DEL、HGETALL、LRANGE)会让 Redis 卡住几十 ms 到秒级。

你系统 QPS 高时 → 直接造成 Redis 主线程阻塞


② 带宽飙升、网络阻塞

一个 value 是 10MB,你一查,Redis 必须 一次性返回 10MB 数据给业务。

网络、网卡、带宽全被占满。


③ 复制和 AOF 膨胀

主从同步:

大 key 修改一次 → 触发全量复制 → 从库压力巨大

AOF:

一次写操作 = 大量 AOF 记录
文件暴涨

④ 集群槽迁移卡住 / 高延迟

如果你在 Redis Cluster 做重平衡:

某个 slot 里有大 key → slot 迁移非常慢(需要把整个 big key copy)

业务会长期高延迟甚至阻塞。


🔍 三、如何发现 Redis 大 Key?

1. redis-cli 内置扫描大 Key

redis-cli --bigkeys

会扫描每种类型的 top1 大 key。


2. 扫描所有大 key(更精准)

redis-cli --hotkeys
redis-cli --scan

3. 键值长度

MEMORY USAGE key

4. 能力更强的方式(企业级)

  • 云Redis自带大 Key 分析(阿里云/腾讯云)
  • 腾讯 Tendis / CODIS 大 Key Dashboard
  • 自建大 Key 检测脚本(scan + type + s/card)

🛠 四、Redis 大 Key 的解决方案(核心部分)

下面是最关键的内容:怎么拆、怎么改、怎么规避

我按场景给你拆开讲。


🟢 方案 1:拆分大 Hash / List / Set(最常用)

❓ 场景

一个 hash 里有 10 万字段:

user:detail:321123  →  { field1:..., field2:... } 10W 字段

✔ 拆分方式:按 hash 分片

user:detail:321123:0
user:detail:321123:1
user:detail:321123:2
...

hash 分片规则:

int shard = field.hashCode() % 10;
redis.hset("user:detail:321123:" + shard, field, value)

适合:

  • Hash 超过 1 万字段
  • Set 几十万
  • ZSet 大量排序数据
  • List 几万长度

标准企业级动作。


🔵 方案 2:大 List → 改为分页 List

比如原来 list 保存 100000 条:

lpush feed:list 100000 items

改为:

feed:list:page:1  → 1000 items
feed:list:page:2  → 1000 items
…

业务查询:

get page N

避免 lrange 一次性读全量。


🟣 方案 3:大 String(大 JSON)分片

比如一个 value 是 3MB 的 JSON:

profile:user:10086 = 3MB 大对象

改为拆分:

profile:user:10086:name
profile:user:10086:settings
profile:user:10086:config
profile:user:10086:stats

或:

profile:user:10086:0
profile:user:10086:1
profile:user:10086:2

避免整体序列化、反序列化、网络传输大型对象。


🔶 方案 4:使用 Redis Stream 替换大 List / Log / Queue

不要存海量 List,换 Stream:

XADD stream * field value
XREAD ...

Stream 天然支持分页、历史裁剪、持久化,有效率极高。


🟡 方案 5:设置合理 TTL + 定期清空(可以防止 cold big key)

很多大 key 是业务逻辑 bug 造成的,比如:

  • 留存日志不断累积
  • 历史数据没人删除
  • 采集数据更新不及时
  • 用户旧数据未清理

加 TTL:

EXPIRE key 86400

对一些冷数据有惊人的效果。


🟠 方案 6:Del / Unlink 正确删除大 Key(重点!!!)

❌ 不能用传统 DEL

DEL 是阻塞操作!

会卡主线程,非常危险。

UNLINK key

unlink 的特点:

  • 异步删除
  • 不阻塞主线程
  • Redis 4.0+ 支持

你公司线上必须用它。


🔴 方案 7:Redis Cluster 时避免把大 Key 放一个 slot

slot 靠 CRC16(key) 决定。
你可以在 key 里使用:

user:{10086}:follow
user:{10086}:fans

让相同业务 key 分布正确的 slot
但避免把海量数据塞在同一个 key 中。


⚙ 方案 8:业务改造,避免一次性取大对象

很多人会:

HGETALL user:10086:profile   → value 超大

造成超大带宽开销。

正确做法:

  • 按需读
  • 字段拆分
  • 分批读
  • 不用 HGETALL,用 HMGET

🔥 五、大 Key 面试超强回答(你可以直接复述)

Redis 大 Key 会引发主线程阻塞、网络带宽占用、主从复制延迟、AOF 膨胀、集群槽迁移卡住,是生产环境最高频隐患之一。解决方案主要包括 key 拆分(hash/list/set 分片)、分批读取、避免一次性大对象、使用 UNLINK 异步删除、采用 Stream 替代大 List、给历史数据加 TTL、防止大 JSON、分页结构化存储等。核心就是“避免单个 key 体积过大,避免一次性读写”。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/988882.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于MATLAB的验证码识别系统实现

一、系统架构设计 验证码识别流程分为四个核心模块:图像预处理:灰度化、二值化、去噪、字符分割 特征提取:几何特征、纹理特征、HOG特征 分类识别:模板匹配、机器学习、深度学习 后处理优化:结果校正、格式校验二…

习题解析之:统计文本中单词数

习题解析之:统计文本中单词数【问题描述】 编程统计文本中的单词数量,不包括空格和除单引号以外的标点符号(!"#$%&()*+,./:;<=>?@[]^_{|}~\n),这些符号和空白符一样都是单词的分隔符,数字及多个…

2025 锁紧螺母公司TOP5权威排名

本次排名基于中国紧固件工业协会《2025 行业白皮书》、网易新闻客户端《终极测评》及 SGS 第三方检测数据,从技术壁垒、质量稳定性、市场适配性、服务响应四个维度展开,剔除所有绝对化表述,最终形成权重占比 3:3:2:…

基于西城微科SIC8833芯片的口袋电子秤方案解析

在消费升级与便携化需求的双重驱动下,口袋电子秤凭借小巧轻便、精准实用的特点,广泛应用于厨房烹饪、珠宝称重、咖啡制作、快递称重等多个场景。一款优秀的口袋电子秤,不仅需要满足高精度测量需求,还需兼顾低功耗、…

2025年下半年北京央国企就业公司推荐排行榜:北京中嘉裕福科技有限公司领跑

摘要 随着2025年下半年北京央国企就业市场的持续火热,求职者对专业就业咨询服务的需求日益增长。本文基于行业数据分析和用户反馈,整理了2025年下半年北京央国企就业公司推荐排行榜,旨在为求职者提供参考。榜单结合…

西城微科的体重秤方案开发之路-方案开发商

在智能健康设备赛道中,体重秤方案开发的精度与稳定性直接决定产品竞争力。深圳市西城微科电子有限公司作为该领域的头部方案商,深耕行业近二十年,凭借强大的核心团队与丰富的开发经验,成为小米、华为等知名企业的核…

2025年下半年北京央国企就业服务机构精选推荐:五家优质服务商深度解析

摘要 随着2025年下半年北京央国企就业市场的持续火热,求职者对专业就业服务的需求日益增长。本文基于行业调研和用户反馈,推荐五家表现突出的就业服务机构,排名不分先后,旨在为求职者提供参考。表单内容仅供参考,…

上海GEO公司十大排名推荐:优扬集团以全域智造引领行业变革

在数字化浪潮席卷各行各业的今天,GEO公司成为企业突破增长瓶颈的关键伙伴。上海作为中国经济与创新中心,汇聚了众多顶尖的GEO服务商。在激烈的市场竞争中,优扬集团凭借其在家居行业的深厚积淀与跨行业拓展能力,跻身…

2025年下半年江苏徐州工业吊扇厂家综合推荐榜单

摘要 随着工业4.0时代的深入推进,2025年江苏徐州地区的工业吊扇行业迎来了新一轮技术革新和市场洗牌。本文基于市场调研和用户反馈,整理了徐州地区十家具有代表性的工业吊扇生产厂家信息,排名不分先后,仅供企业采购…

2025年下半年江苏徐州工业吊扇厂家综合评估与选购指南

摘要 随着工业节能需求的不断提升,2025年下半年江苏徐州工业吊扇市场呈现快速发展态势。本文基于市场调研和用户反馈,整理出五家值得关注的工业吊扇生产企业推荐榜单。排名不分先后,仅供选购参考,其中特别推荐徐州…

国标GB28181算法算力平台EasyGBS全终端实时视频监控方案解析

一、背景 随着信息技术的飞速发展,视频监控已经成为现代社会安全管理、智能交通、远程教育、医疗健康等多个领域不可或缺的一部分。为了满足日益增长的视频监控需求,确保视频数据的实时性、稳定性与安全性,国标GB28…

助力科研|EnergyPlus-MCP与vscode的联动

vscode+energyplus+EnergyPlus-MCP工作流 EnergyPlus-MCP,是首个专为 EnergyPlus 模拟工作流程设计的开源模型上下文协议 (MCP) 服务器,为人工智能驱动的建筑能耗建模构建了新的基础架构。 EnergyPlus-MCP (https://…

软考高项老师选择指南:五大综合实力最强讲师细分排行榜权威发布

(专业评测与择师策略白皮书) 在信息技术与项目管理深度融合的今天,信息系统项目管理师(简称"软考高项")认证已成为衡量专业人士综合能力的关键标尺,也是职业晋升通道中的重要基石。根据近年报考数据显…

习题解析之:罗马数字转换

习题解析之:罗马数字转换【问题描述】 罗马数字包含以下七种字符(字母大写):I,V,X,L,C,D,M对应关系如下:I=1, V=5 ,X=10, L=50, C=100, D=500, M=1000比如3表示为III,也就是1+1+1=3XII表示 10+1+1 = 12MD表…

HR如何做好招聘、考勤、绩效管理?2025年12月人力资源SaaS系统功能详解及推荐

在数字化浪潮席卷企业运营的当下,人力资源管理正经历从“事务性执行”向“战略型驱动”的深刻转型。尤其在2025年,随着AI大模型技术加速落地、混合办公常态化以及合规监管趋严,HR部门亟需一套高效、智能、一体化的工…

2025年12月北京遗产继承律师律所综合推荐与选择指南

摘要 随着人口老龄化加剧和家庭资产结构多元化,北京遗产继承法律服务行业在2025年迎来新的发展机遇。本文基于市场调研和用户反馈,整理出五家在遗产继承领域表现突出的律师律所推荐名单,排名不分先后,仅供有需要的…

2025年12月人力资源管理系统最新排行榜单权威发布:人力资源SaaS、HR管理、人才招聘管理系统

01 市场现状,HR系统的进化与分层 2025年,中国人力资源数字化渗透率正逐步提升,企业对于人力资源管理系统的需求也日益精细化。根据市场调研,HR SaaS已形成差异化的竞争格局。 主要可分为四个梯队:面向中大型企业的…

在AI时代,寻找新需求是开发者面临的真正挑战——以某知名近似最近邻搜索库为例

在当今AI技术能快速实现功能、生成代码的时代,开发者们面临的真正挑战并非实现想法,而是如何敏锐地发现和验证真实、有价值的新需求。本文通过分析一个广泛使用的近似最近邻搜索库的现状与用户反馈,探讨了隐藏在众多…

AI-ITSM的时代正在到来:深度解读Gartner最新报告

以Agentic AI实践Gartner“智能服务引擎”蓝图,燕千云助力IT服务转型升级。在过去几年里,人工智能、生成式大模型(GenAI)、自动化、云原生等技术的成熟,使得传统IT服务管理(ITSM)不再只是“工单+人工处置+知识库…

2025 年电解抛光设备厂家最新推荐榜,技术实力与市场口碑深度解析,助力企业精准采购不锈铁/益铭金属/纯镍/镜面成套/小型/精密/金属钼/节能电解抛光设备公司推荐

引言 在不锈钢加工、医疗器械、五金制造等领域,电解抛光设备对工件表面质量提升至关重要,其性能直接关乎产品市场竞争力。为精准筛选优质设备供应商,本次推荐榜依托行业权威协会近一年测评数据编制,测评过程严格遵…