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

Redis — cara terbaik untuk menyimpan peta besar (kamus)

Ya, seperti yang dikatakan Itamar Haber, Anda harus melihat panduan pengoptimalan memori redis ini. Tetapi Anda juga harus mengingat beberapa hal lagi:

  1. Lebih suka HSET daripada KEYS. Redis menghabiskan banyak memori hanya pada manajemen ruang utama. Secara sederhana (dan kasar), 1 HSET dengan 1.000.000 kunci menghabiskan memori hingga 10x lebih sedikit daripada 1.000.000 kunci dengan masing-masing satu nilai.
  2. Jaga ukuran HSET kurang dari hash-max-zipmap-entries dan hash-max-zipmap-value yang valid jika memori adalah target utama. Pastikan untuk memahami hash-max-zipmap-entries dan hash-max-zipmap-value berarti. Selain itu, luangkan waktu untuk membaca tentang ziplist.
  3. Anda sebenarnya tidak ingin menangani hash-max-zipmap-entries dengan 10M+ kunci; sebagai gantinya, Anda harus memecah satu HSET menjadi beberapa slot. Misalnya, Anda menyetel hash-max-zipmap-entries sebagai 10.000. Jadi untuk menyimpan 10M+ kunci, Anda memerlukan 1000+ kunci HSET dengan masing-masing 10.000. Sebagai aturan praktis:crc32(key) % maxHsets.
  4. Baca tentang string dalam redis dan gunakan nama KUNCI (dalam HSET) panjangnya berdasarkan manajemen memori nyata untuk struktur ini. Secara sederhana, menjaga panjang kunci di bawah 7 byte, Anda menghabiskan 16 byte per kunci, tetapi kunci 8-byte menghabiskan masing-masing 48 byte. Mengapa? Baca tentang string dinamis sederhana.

Mungkin bermanfaat untuk membaca tentang:

  • Optimasi Memori Redis (dari sripathikrishnan)
  • Komentar tentang struktur ziplist internal.
  • Menyimpan ratusan juta pasangan nilai kunci sederhana di Redis (Instagram)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara menjalankan Redis di Windows?

  2. Aksen yang disimpan di Redis tidak dapat dibaca

  3. Cara menganalisis dan mengoptimalkan penggunaan memori di Redis

  4. Apa strategi terbaik untuk menyinkronkan data Redis ke MySQL?

  5. Bagaimana cara mendapatkan semua kunci yang cocok dengan pola tertentu dari hash di redis?