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

Bagaimana cara menyimpan kumpulan objek yang diurutkan dalam redis?

Menggunakan satu kunci untuk menyimpan semua hash Anda akan memerlukan beberapa serialisasi karena Redis tidak mendukung struktur data bersarang. Hasilnya adalah sebagai berikut:

key: users:pro
         |
         +-----> field       value
                 name:Bruce  "age: 20, score: 100"
                 name:Ed     "age: 22, score: 80"

> HMSET users:pro name:Bruce "age: 20, score: 100" name:Ed "age:22, score:80"

Set Terurut yang sesuai adalah:

key: users:pro.by_scores
         |
         +---> scores:    80           100
         +---> values: "name:Ed"   "name:Bruce"

> ZADD users:pro.by_scores 80 "name:Ed" 100 "name:Bruce"

Catatan 1 :pendekatan ini mengamanatkan ID unik per pengguna, saat ini name properti digunakan yang dapat menimbulkan masalah.

Catatan 2 :untuk menghindari serialisasi (dan deserialisasi), Anda dapat mempertimbangkan untuk menggunakan kunci khusus per pengguna. Itu berarti melakukan:

key: users:pro:Bruce
         |
         +-----> field       value
                 age         20
                 score       100

key: users:pro:Ed
         |
         +-----> field       value
                 age         22
                 score       80

> HMSET users:pro:Bruce age 20 score 100
> HMSET users:pro:Ed age 22 score 80

key: users:pro.by_scores
         |
         +---> scores:      80                100
         +---> values: "users:pro:Ed"   "users:pro:Bruce"

> ZADD users:pro.by_scores 80 "users:pro:Ed" 100 "users:pro:Bruce"



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cara memperbaiki PERINGATAN saat menjalankan redis:gambar Docker alpine

  2. Cara paling efisien untuk mendapatkan beberapa hash di Redis?

  3. cara menyimpan gambar ke redis menggunakan python / PIL

  4. Mengonfigurasi Apache Reverse Proxy Untuk Hosting Laravel Echo Server Saat Produksi

  5. Bagaimana cara menyalurkan di node.js ke redis?