Otrzymujesz jedną wartość, ponieważ zastępujesz poprzednią wartość.
client.hmset("Table1", "Id", "9324324", "ReqNo", "23432", redis.print);
To dodaje Id, ReqNo do obiektu mieszającego Table1.
client.hmset("Table1", "Id", "9324325", "ReqNo", "23432", redis.print);
Zastępuje to Id i ReqNo dla obiektu mieszającego Table1. W tym momencie w hashu masz tylko dwa pola.
W rzeczywistości twój problem wynika z faktu, że próbujesz mapować model relacyjnej bazy danych na Redis. Nie powinieneś. W przypadku Redis lepiej myśleć w kategoriach struktur danych i ścieżek dostępu.
Musisz przechowywać jeden obiekt mieszający na rekord. Na przykład:
HMSET Id:9324324 ReqNo 23432 ... and some other properties ...
HMSET Id:9324325 ReqNo 23432 ... and some other properties ...
Następnie możesz użyć zestawu do przechowywania identyfikatorów:
SADD Table1 9324324 9324325
Na koniec, aby pobrać dane ReqNo powiązane z kolekcją Table1:
SORT Table1 BY NOSORT GET # GET Id:*->ReqNo
Jeśli chcesz również wyszukać wszystkie identyfikatory, które są powiązane z danym ReqNo, potrzebujesz innej struktury obsługującej tę ścieżkę dostępu:
SADD ReqNo:23432 9324324 9324325
Aby uzyskać listę identyfikatorów dla rekordu 23432, użyj:
SMEMBERS ReqNo:23432
Innymi słowy, nie próbuj transponować modelu relacyjnego:po prostu stwórz własne struktury danych wspierające Twoje przypadki użycia.