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

Bagaimana cara membuat tombol namespace pada redis untuk menghindari tabrakan nama?

Solusi 1:Simpan data dari modul yang berbeda di instance Redis yang berbeda

Isolasi yang paling ketat adalah menyimpan data setiap modul dalam instance Redis individual, yaitu proses Redis individual.

Solusi 2:Simpan data dari modul yang berbeda di database yang berbeda dari satu instance Redis

Instance Redis dapat memiliki beberapa database, dan Anda dapat mengonfigurasi jumlah database dalam file konfigurasi. Secara default, ada 16 database.

Database ini diberi nama dengan indeks numerik berbasis nol. Dengan perintah pilih, Anda dapat menggunakan ith basis data. Setelah pemilihan, setiap perintah berikutnya akan beroperasi pada ith basis data.

Jadi, jika Anda menetapkan database independen untuk setiap modul, Anda dapat menghindari tabrakan nama.

CATATAN :solusi ini TIDAK bekerja dengan Redis Cluster . Redis Cluster hanya memungkinkan Anda untuk menggunakan 0 basis data.

Solusi 3:Buat namespace dengan awalan kunci

Jika semua data Anda harus disimpan dalam satu database, Anda masih dapat membuat namespace secara implisit. dengan awalan kunci . Untuk setiap modul, semua data modul ini harus memiliki pola kunci yang sama:ModuleName:KeyName , yaitu setiap kunci modul ini memiliki awalan yang sama:ModuleName .

Karena setiap modul memiliki nama yang berbeda, tidak akan ada tabrakan nama di antara modul-modul ini:

// Set keys for module1
SET module1:key1 value
SET module1:key2 value

// Set keys for module2
SET module2:key1 value
SET module2:key2 value

CATATAN :solusi ini juga berfungsi dengan Redis Cluster .




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Redis menemukan hash berdasarkan nilai bidang

  2. Bawa Akun Azure Anda Sendiri – Hosting untuk MongoDB® &Redis™ di ScaleGrid

  3. Redis notifikasi keyspace dengan StackExchange.Redis

  4. Redis vs. Memcached – Perbandingan 2021

  5. Node Js:Pekerjaan redis tidak selesai setelah menyelesaikan tugasnya