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.