Du får ett värde eftersom du åsidosätter det tidigare värdet.
client.hmset("Table1", "Id", "9324324", "ReqNo", "23432", redis.print);
Detta lägger till Id, ReqNo till Table1-hashobjektet.
client.hmset("Table1", "Id", "9324325", "ReqNo", "23432", redis.print);
Detta åsidosätter Id och ReqNo för Table1-hashobjektet. Vid det här laget har du bara två fält i hashen.
Egentligen kommer ditt problem från det faktum att du försöker mappa en relationsdatabasmodell till Redis. Du borde inte. Med Redis är det bättre att tänka i termer av datastrukturer och åtkomstvägar.
Du måste lagra ett hashobjekt per post. Till exempel:
HMSET Id:9324324 ReqNo 23432 ... and some other properties ...
HMSET Id:9324325 ReqNo 23432 ... and some other properties ...
Sedan kan du använda en uppsättning för att lagra ID:n:
SADD Table1 9324324 9324325
Slutligen för att hämta ReqNo-data som är kopplade till Tabell1-samlingen:
SORT Table1 BY NOSORT GET # GET Id:*->ReqNo
Om du också vill söka efter alla ID:n som är kopplade till ett givet ReqNo, behöver du en annan struktur för att stödja denna åtkomstväg:
SADD ReqNo:23432 9324324 9324325
Så du kan få listan över ID:n för post 23432 genom att använda:
SMEMBERS ReqNo:23432
Med andra ord, försök inte överföra en relationsmodell:skapa bara dina egna datastrukturer som stödjer dina användningsfall.