开发者社区 问答 正文

redis如何计算key的value大小,或者按照value的大小排序?

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

展开
收起
落地花开啦 2016-02-28 18:12:05 14910 分享 版权
2 条回答
写回答
取消 提交回答
  • 就职于阿里云数据库技术组,从事redis引擎开发工作,https://github.com/soloestoy

    可以参考下这个文章https://yq.aliyun.com/articles/62899

    2019-07-17 18:49:57
    赞同 展开评论
  • 喜欢技术,喜欢努力的人

    帮你找了一个工具,经测试可用:https://github.com/sripathikrishnan/redis-rdb-tools#generate-memory-report
    安装和使用方法文档上写了,如果安装完成找不到rdb命令的话,直接在安装目录下执行也可以:
    rdbtools/cli/rdb.py -c memory /path/to/your/dump.rdb > result.csv
    1
    结果列中的sizeinbytes就是你要的大小,导出后自己排下序就可以了。另外,注意修改你自己dump.rdb的文件路径。对于数据量太大的情况我没测试过,分析估计会比较慢。

    2019-07-17 18:49:56
    赞同 1 展开评论