redis里怎么知道key的value大小?或者按照value的大小排序?

WBOY
풀어 주다: 2016-06-06 20:44:10
원래의
3201명이 탐색했습니다.

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

回复内容:

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

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

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

<code>rdbtools/cli/rdb.py -c memory /path/to/your/dump.rdb > result.csv
</code>
로그인 후 복사
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的文件路径。对于数据量太大的情况我没测试过,分析估计会比较慢。

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿