Redis
 sql >> Teknologi Basis Data >  >> NoSQL >> Redis

Mengapa file dump.rdb Redis 500MB membutuhkan memori sekitar 5,0GB?

Rasio memori terhadap ukuran dump tergantung pada tipe data yang digunakan Redis secara internal.

Untuk objek kecil (hash, list, dan sortset), redis menggunakan ziplist untuk mengkodekan data. Untuk himpunan kecil yang terbuat dari bilangan bulat, redis menggunakan Intsets. ZipLists dan IntSets disimpan di disk dalam format yang sama seperti yang disimpan di memori . Jadi, Anda akan mengharapkan rasio 1:1 jika data Anda menggunakan penyandian ini.

Untuk objek yang lebih besar, representasi di dalam memori benar-benar berbeda dari representasi di disk. Format pada disk dikompresi, tidak memiliki pointer, tidak harus berurusan dengan fragmentasi memori. Jadi, jika objek Anda berukuran besar, rasio memori ke disk 10:1 adalah normal dan diharapkan.

Jika Anda ingin mengetahui objek mana yang menghabiskan memori, gunakan redis-rdb-tools untuk membuat profil data Anda (penafian:Saya adalah pembuat alat ini). Dari sana, ikuti catatan pengoptimalan memori di redis.io, serta entri wiki pengoptimalan memori di redis-rdb-tools.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Redis perbedaan antara dua daftar?

  2. Manakah, jika ada, dari database NoSQL yang dapat menyediakan aliran *perubahan* ke kumpulan hasil kueri?

  3. Bagaimana cara menjaga has_many :through hubungan saat membuat serial ke JSON dan kembali ke Rails 4.0.3?

  4. redis - Menggunakan Hash

  5. Labu dengan Contoh – Menerapkan Antrian Tugas Redis