讲师中心 微信公众号
AI工具推荐 视频效率加速

如何监控Redis各个数据类型的内存占比_使用MEMORY USAGE指令

阿静吖_4009

阿静吖_4009

发布时间:2026-06-02 06:37:26

|

1020人浏览过

|

来源于php中文网

原创

MEMORY USAGE仅返回单个key的字节数,不携带类型、编码等元信息,无法直接按数据类型聚合统计占比;需结合TYPE、SCAN、--bigkeys等命令及后处理才能实现分类分析。

如何监控redis各个数据类型的内存占比_使用memory usage指令

MEMORY USAGE 本身不支持按数据类型分组统计,无法直接得出“hash 占比多少”这类汇总结果——它只查单个 key。 想知道各类数据结构的内存占比,得靠组合命令 + 后处理,不是一条命令能解决的事。

为什么不能直接用 MEMORY USAGE 统计类型占比

MEMORY USAGE key_name 只返回一个整数,比如 (integer) 12480,它不告诉你这个 key 是 hash 还是 zset,更不会自动归类、求和、算百分比。你拿它扫 10 万个 key,得到 10 万个数字,但没类型标签,根本没法聚合。

  • 它不返回类型信息:必须先执行 TYPE key_name 才知道是什么结构
  • 它不支持通配符或批量:MEMORY USAGE user:* 会报错,只能逐个调用
  • 对不存在的 key 返回 0,容易被当成“小 key”混进统计,拉低平均值
  • 集群环境下,key 分布在不同节点,需手动路由,脚本复杂度陡增

真正可行的类型占比分析流程

用 redis-cli --bigkeys 快速筛出高频/大体积类型,再辅以 MEMORY USAGE 抽样验证,是生产环境最稳的路径:

Redis Skill - 高性能缓存管理
Redis Skill - 高性能缓存管理

Redis 缓存和数据结构管理技能。通过自然语言操作 Redis,支持 String、Hash、List、Set、ZSet、Stream 等数据结构操作。当用户提到 Redis、缓存、消息队列、会话存储时使用此技能。

下载
  • 先跑 redis-cli --bigkeys -i 0.1(-i 控制扫描间隔,避免阻塞),它会按 string/hash/list/set/zset 分组,给出每类的样本数量、平均大小、最大大小
  • 对报告中 “hash: 1245 keys, avg size 1.2MB, max 48MB” 这类条目,挑几个 top key(如 user:profile:1001)执行 MEMORY USAGE user:profile:1001,确认是否真占这么大
  • 若发现某类(如 zset)平均值虚高,大概率是编码切换导致:用 ZCARD 和 ZRANGE key 0 0 WITHSCORES 看元素长度,再对比 MEMORY USAGE 结果,判断是否因跳变式扩容(比如从 ziplist 切到 skiplist)
  • 想导出全量类型分布?得写脚本遍历 KEYS *(仅限开发环境!)或用 SCAN 游标 + TYPE + MEMORY USAGE 三连发,但要注意 client-output-buffer-limit,大结果可能断连

INFO memory + 类型命令交叉验证更高效

比起硬扫所有 key,多数时候用内置指标 + 类型专属命令更快定位偏差点:

  • 看 INFO memory 中的 used_memory_human,再执行 DBSIZE:如果 DBSIZE 是 50 万,但 used_memory_human 已达 8GB,基本可断定存在大 hash/zset
  • 对 hash:用 HLEN key 查字段数,再 MEMORY USAGE key;若 HLEN=100 但 MEMORY USAGE > 10MB,说明单个 field value 极长或已转 dict 编码
  • 对 list:LLEN key 若为 10 万,MEMORY USAGE key 却只有 2MB,大概率还是 ziplist;若超过 15MB,基本已是 linkedlist(每个 node 额外 ~64 字节)
  • 注意 redis-cli --stat 实时观察 used_memory 波动,配合业务操作,能快速锁定哪类操作引发内存突增

真正难的不是查单个 key,而是把零散的 MEMORY USAGE 结果和类型、编码、过期状态、内存对齐这些隐性因素串起来。一次 MEMORY USAGE 返回 80 字节,可能是 65 字节字符串 + 15 字节对齐填充;也可能是 4 字节 key 名 + 64 字节 value + redisObject 元数据 + lru 字段——不结合 DEBUG OBJECT(仅限测试)或 INFO memory 碎片率,根本没法归因。

热门AI工具

更多
豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

相关专题

更多
数据类型有哪几种
数据类型有哪几种

数据类型有整型、浮点型、字符型、字符串型、布尔型、数组、结构体和枚举等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2631

2023.10.31

php数据类型
php数据类型

本专题整合了php数据类型相关内容,阅读专题下面的文章了解更多详细内容。

514

2025.10.31

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

442

2026.02.12

常用的数据库软件
常用的数据库软件

常用的数据库软件有MySQL、Oracle、SQL Server、PostgreSQL、MongoDB、Redis、Cassandra、Hadoop、Spark和Amazon DynamoDB。更多关于数据库软件的内容详情请看本专题下面的文章。php中文网欢迎大家前来学习。

4289

2023.11.02

内存数据库有哪些
内存数据库有哪些

内存数据库有Redis、Memcached、Apache Ignite、VoltDB、TimesTen、H2 Database、Aerospike、Oracle TimesTen In-Memory Database、SAP HANA和ache Cassandra。更多关于内存数据库相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

3795

2023.11.14

mongodb和redis哪个读取速度快
mongodb和redis哪个读取速度快

redis 的读取速度比 mongodb 更快。原因包括:1. redis 使用简单的键值存储,而 mongodb 存储 json 格式的数据,需要解析和反序列化。2. redis 使用哈希表快速查找数据,而 mongodb 使用 b-tree 索引。因此,redis 在需要高性能读取操作的应用程序中是一个更好的选择。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

6872

2024.04.02

redis怎么做缓存服务器
redis怎么做缓存服务器

redis 作为缓存服务器的答案:redis 是一款开源、高性能、分布式的键值存储,可作为缓存服务器使用。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

623

2024.04.07

redis怎么解决数据一致性
redis怎么解决数据一致性

redis 提供了两种一致性模型,以维护副本数据一致性:强一致性 (sync) 确保写操作仅在复制到所有从节点后才完成;最终一致性 (async) 则在主节点上写操作后认为已完成,牺牲一致性换取性能。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

736

2024.04.07

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

80

2026.09.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpEnv手册
phpEnv手册

共0课时 | 0人学习

进程与SOCKET
进程与SOCKET

共6课时 | 0.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn