VP导航 VP导航
首页 提交网址

资讯文章 资讯 · NEWS

Redis 里的 big key 和热 key:目录站缓存的数据结构该怎么挑

2026-10-24 约 1,374 字 预计阅读 3 分钟 yiyunkj

Redis 里的 big key 和热 key:目录站缓存的数据结构该怎么挑 R

先把两个词定义清楚——阈值本身是行业惯例而不是官方标准。big key 通常指 String 超过 10KB、或集合元素超过几千个的 key;hot key 指被极高并发访问的单个 key。不同团队的具体数字会有出入,但判断逻辑一致:看它对单线程模型和单分片造成了什么影响。

Redis 数据结构选型与大 Key 热 Key 治理对照

图片来源:网络,版权归原作者所有,侵权请联系删除

大 key 到底伤在哪

Redis 处理命令是单线程的,一个几十 KB 的 String 做序列化、网络分包,占用的时间会挡住后面所有命令。它的影响还往下传:主从同步时大 key 让复制延迟上升,AOF 重写时文件膨胀,DEL 删除时可能直接卡住。

顺带说个常见误解:集群模式救不了大 key。一个 key 永远只属于一个分片,把它拆成十个小 key 之后分片才有意义,在此之前扩容只是把同一个问题搬到更大的机器上。

定位的三条命令

命令看什么备注
redis-cli --bigkeys抽样统计各类结构里最大的 key线上可用,结果是抽样
redis-cli --hotkeys热 key需要先把淘汰策略设为 LFU
MEMORY USAGE <key>单个 key 的实际占用确认单个对象用

再加两件日常就该做的事:打开慢日志,重点看 HGETALL、LRANGE、SMEMBERS、各类 SCAN;以及确认线上没有 KEYS 命令在运行——要遍历键空间一律用 SCAN。

结构选型:目录站常见四种场景

场景别这么写推荐写法
单个条目详情一个 String 存整页 HTMLHash 存字段,按需取
分类列表几万条塞进一个 List按页拆分 + ZSet 排序
热度榜每次全量重算ZSet 增量更新
整站配置一个大 key 全塞进去拆成多个小 key

目录站特别容易踩的是第一条:整页 HTML 缓存。页面几十上百 KB,模板一改全线失效,且永远不能部分更新。改成按字段存的 Hash,条目换 logo 只需要更新一个字段。

另一条是关于范围写法:别对整个集合做全范围读取,ZREVRANGE、LRANGE 都要带上明确范围。热榜取前 50 就够了,别写 0 到 -1。

热 key 的解法只有两条路

第一,本地缓存。官方文档给的建议很直接:如果热 key 的读取是只读的,在应用层加一层本地缓存,哪怕 TTL 只有五秒,热 key 问题基本就消失了。这条路代价最小,也应该第一个试。

第二,打散。key 名后缀一到 N 个随机分片,读写时随机挑一个,把压力摊到不同槽位。代价是失效时要逐个删,且读到的数据要多取几份合并。通常是在已经用了集群、且某个分片 CPU 明显偏高时才用。

顺便补一个常被忽略的前提:每个 key 只属于一个分片,所以热 key 的 CPU 问题永远表现为「某一个分片特别忙」。如果你看到的是所有分片都忙,那多半不是热 key,是整体容量不够。

删除:用 UNLINK 而不是 DEL

大 key 的同步释放会阻塞实例。UNLINK 把释放动作交给后台线程,这是当天就能改的一条。另外可以设置 lazyfree 相关参数(如 lazyfree-lazy-user-del),让普通的 DEL 也走异步。

该写进监控的四项

一,分片的 CPU 是否均衡——不均衡基本就是热 key 信号。二,内存碎片率趋势。三,慢日志里 range 类命令的出现频率。四,主从复制偏移量的差值,也就是实际的复制延迟。

把这些做成看板之后,绝大多数问题会在变成故障之前出现迹象。真正危险的是那类「一直在慢慢变坏」的用法:没人写错代码,只是每天往同一个 key 里多塞一点。

本文标签 Redis大Key 热Key治理 缓存数据结构选型
← 上一篇 表涨到几百万行之后:分区、归档,和那些越跑越慢的查询 下一篇 → 榜单和猜你喜欢也要合规:算法推荐规定对目录站的四件事

— 本文完 —

提交网址

发现好站,欢迎自荐收录

站内搜索

站点统计

  • 今日审核0
  • 已收录站点3744
  • 正常访问3738
  • 失联站点6
  • 累计访问175

网站分类

  • AI工具 0
    AI对话0 AI绘画0 AI写作0 AI编程0 AI音视频0 AI办公效率0
  • 开发编程 0
    前端开发0 后端开发0 移动开发0 开源与代码托管0 数据库0 开发文档与教程0
  • 设计素材 0
    UI设计0 图标素材0 免费图库0 字体下载0 配色工具0 设计模板0
  • 站长工具 0
    网站统计0 SEO工具0 域名与主机0 收录提交0 建站程序0 运维监控0
  • 学习教育 0
    编程教程0 语言学习0 职业技能0 公开课与慕课0 考试题库0 中小学教育0
  • 生活服务 0
    交通出行0 外卖点餐0 房产租房0 医疗健康0 政务办事0 快递物流0
  • 影音娱乐 0
    影视观看0 音乐音频0 游戏资源0 短视频直播0 小说阅读0
  • 电商购物 0
    综合商城0 比价工具0 导购返利0 二手交易0 团购优惠0
  • 综合其他 1
    实用工具0 资源合集0 小众站点0 个人博客0 论坛社区0
  • 新闻资讯 0
    科技资讯8 财经媒体1 行业动态0 社会热点0 综合门户0
  • 资讯文章 370

最新收录

  • 车机屋-专业车机系统研究平台,海量正
  • 通义千问
  • 阿里巴巴矢量图标库
  • DeepSeek
  • Kimi
  • 快看漫画
  • 苏宁易购
  • 埋点为什么总对不上数:目录站的事件模

浏览排行

  1. 满分作文网 6
  2. Let's Enhance 3
  3. 淘菜菜 3
  4. MasterClass 3
  5. TypeScript 中文网 3
  6. Zhengziying 3
  7. 得意生活 3
  8. 镇江网友之家 3

联系我们

bQ:12345678

电话:400-8888-888

邮箱:admin@example.com

时间:09:00-21:00

友情链接

车机屋·焊锡条·探兔AI导航·静电测试仪·大学生联盟

关于我们|广告合作|隐私条款|网站地图

原ICP备00000000号-1,@2026

由 Z-BlogPHP 驱动