php - redis里怎么知道key的value大小?或者按照value的大小排序?
高洛峰
高洛峰 2017-04-10 14:54:12
[PHP讨论组]

现在偶尔会发现redis里有些key的值有几十MB,这是不正常的数据,有没有办法按value大小排序列出大于10MB所有key?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(1)
PHPz

帮你找了一个工具,经测试可用:https://github.com/sripathikrishnan/redis-rdb-tools#generate-memory-report

安装和使用方法文档上写了,如果安装完成找不到rdb命令的话,直接在安装目录下执行也可以:

rdbtools/cli/rdb.py -c memory /path/to/your/dump.rdb > result.csv
database type key size_in_bytes encoding num_elements len_largest_element
0 string "cccc" 98 string 4 4
0 string "bbb" 96 string 3 3
0 hash "user" 102 ziplist 1 6
0 string "aa" 94 string 2 2

结果列中的sizeinbytes就是你要的大小,导出后自己排下序就可以了。另外,注意修改你自己dump.rdb的文件路径。对于数据量太大的情况我没测试过,分析估计会比较慢。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号