我redis里配置了db0、db1、db2、db3四个库,我想看每个库分别占用的大小应该怎么办?
另外jedis里有什么方法可以用吗?
PHPz2017-04-21 11:19:09
Redis는 각 db의 실제 점유를 얻는 신뢰할 수 있는 방법을 제공하지 않는 것 같습니다. 이는 주로 redis 자체에 db 파일 개념이 없고 모든 db가 하나의 rdb 파일에 혼합되어 있기 때문입니다.
DB 크기를 추정하려면 keys *
을 통해 DB의 모든 키를 순회한 다음 debug object <key>
를 사용하여 키의 메모리 공간을 가져와야 합니다. serializedlength
은 필드의 길이입니다. 기억을 점유하고 있습니다.
RDB 형식 문서에 따르면 각 키의 실제 점유는 다음과 같을 것으로 추정할 수 있습니다.
으아아아그러나 이 추정치는 redis가 키를 압축할 수 있고 추정값이 너무 클 수 있기 때문에 매우 신뢰할 수 없습니다.
다음 명령은 db0
(키 수)의 크기 등을 확인할 수 있습니다.
또는 info keyspace
을 사용하여 모든 DB 정보를 동시에 얻을 수 있습니다.