Rumah > Soal Jawab > teks badan
我redis里配置了db0、db1、db2、db3四个库,我想看每个库分别占用的大小应该怎么办?
另外jedis里有什么方法可以用吗?
PHPz2017-04-21 11:19:09
Redis nampaknya tidak menyediakan kaedah yang boleh dipercayai untuk mendapatkan pekerjaan sebenar setiap db Ini terutamanya kerana redis itu sendiri tidak mempunyai konsep fail db, dan semua dbs bercampur dalam satu fail rdb.
Untuk menganggarkan saiz db, anda perlu melintasi semua kekunci dalam db melalui keys *
, dan kemudian gunakan debug object <key>
untuk mendapatkan jejak memori kekunci serializedlength
ialah panjang medan mengisi ingatan.
Menurut dokumen format RDB, boleh dianggarkan bahawa pekerjaan sebenar setiap kunci ialah:
key_size = strlen(key) + serializedlength + 7
Walau bagaimanapun, anggaran ini sangat tidak boleh dipercayai, kerana redis mungkin memampatkan kunci dan nilai anggaran mungkin terlalu besar.
Arahan berikut boleh menyemak saiz db0
(bilangan kunci), dan seterusnya untuk orang lain.
select 0
dbsize
Atau gunakan info keyspace
untuk mendapatkan semua maklumat db pada masa yang sama.