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

Dapatkan semua bidang dan nilai kunci hash menggunakan redis di node

Anda mendapatkan satu nilai karena Anda mengganti nilai sebelumnya.

client.hmset("Table1", "Id", "9324324", "ReqNo", "23432", redis.print);

Ini menambahkan Id, ReqNo ke objek hash Table1.

client.hmset("Table1", "Id", "9324325", "ReqNo", "23432", redis.print);

Ini menimpa Id dan ReqNo untuk objek hash Table1. Pada titik ini, Anda hanya memiliki dua bidang di hash.

Sebenarnya, masalah Anda muncul dari fakta bahwa Anda mencoba memetakan model basis data relasional ke Redis. Anda tidak harus. Dengan Redis, lebih baik memikirkan struktur data dan jalur akses.

Anda perlu menyimpan satu objek hash per catatan. Misalnya:

HMSET Id:9324324 ReqNo 23432 ... and some other properties ...
HMSET Id:9324325 ReqNo 23432 ... and some other properties ...

Kemudian, Anda dapat menggunakan satu set untuk menyimpan ID:

SADD Table1 9324324 9324325

Terakhir untuk mengambil data ReqNo yang terkait dengan koleksi Tabel1:

SORT Table1 BY NOSORT GET # GET Id:*->ReqNo

Jika Anda juga ingin mencari semua ID yang terkait dengan ReqNo yang diberikan, maka Anda memerlukan struktur lain untuk mendukung jalur akses ini:

SADD ReqNo:23432 9324324 9324325

Jadi Anda bisa mendapatkan daftar ID untuk catatan 23432 dengan menggunakan:

SMEMBERS ReqNo:23432

Dengan kata lain, jangan mencoba mengubah posisi model relasional:cukup buat struktur data Anda sendiri yang mendukung kasus penggunaan Anda.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Pod DigitalOcean memiliki PersistentVolumeClaims langsung yang tidak terikat

  2. menyimpan deret waktu di redis

  3. Bagaimana cara mendapatkan peringkat yang sama untuk skor yang sama di Redis' ZRANK?

  4. Bagaimana cara mengatur koneksi ke Redis Sentinel menggunakan perpustakaan Jedis?

  5. Bagaimana memulai redis-server pada port yang berbeda dari port default 6379 di ubuntu