Rumah  >  Soal Jawab  >  teks badan

redis分好库之后怎么才能看每个库的大小呢?

我redis里配置了db0、db1、db2、db3四个库,我想看每个库分别占用的大小应该怎么办?
另外jedis里有什么方法可以用吗?

怪我咯怪我咯2762 hari yang lalu681

membalas semua(1)saya akan balas

  • PHPz

    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.

    balas
    0
  • Batalbalas