sql >> Database teknologi >  >> NoSQL >> Redis

Få alle felter og værdier af hash-nøgle ved hjælp af redis i node

Du får én værdi, fordi du tilsidesætter den tidligere værdi.

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

Dette tilføjer Id, ReqNo til Table1 hash-objektet.

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

Dette tilsidesætter Id og ReqNo for Table1-hash-objektet. På dette tidspunkt har du kun to felter i hashen.

Faktisk kommer dit problem fra det faktum, at du forsøger at kortlægge en relationel databasemodel til Redis. Du bør ikke. Med Redis er det bedre at tænke i datastrukturer og adgangsstier.

Du skal gemme et hash-objekt pr. post. For eksempel:

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

Derefter kan du bruge et sæt til at gemme ID'erne:

SADD Table1 9324324 9324325

Til sidst for at hente de ReqNo-data, der er knyttet til Tabel1-samlingen:

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

Hvis du også vil søge efter alle de ID'er, der er knyttet til et givet ReqNo, skal du bruge en anden struktur til at understøtte denne adgangssti:

SADD ReqNo:23432 9324324 9324325

Så du kan få listen over ID'er for post 23432 ved at bruge:

SMEMBERS ReqNo:23432

Med andre ord, prøv ikke at transponere en relationel model:bare skab dine egne datastrukturer, der understøtter dine use cases.




  1. Mongoose tilføjer flere objekter til array, hvis de ikke eksisterer baseret

  2. Opdatering af indlejret dokumentejendom i Mongodb

  3. Agentløs databaseovervågning med ClusterControl

  4. Selleri/Redis samme opgave udføres flere gange parallelt