前の値を上書きするため、1つの値を取得しています。
client.hmset("Table1", "Id", "9324324", "ReqNo", "23432", redis.print);
これにより、Id、ReqNoがTable1ハッシュオブジェクトに追加されます。
client.hmset("Table1", "Id", "9324325", "ReqNo", "23432", redis.print);
これは、Table1ハッシュオブジェクトのIdとReqNoをオーバーライドします。この時点では、ハッシュには2つのフィールドしかありません。
実際、問題は、リレーショナルデータベースモデルをRedisにマッピングしようとしているという事実から生じます。貴方はするべきではない。 Redisを使用する場合は、データ構造とアクセスパスの観点から考える方がよいでしょう。
レコードごとに1つのハッシュオブジェクトを格納する必要があります。例:
HMSET Id:9324324 ReqNo 23432 ... and some other properties ...
HMSET Id:9324325 ReqNo 23432 ... and some other properties ...
次に、セットを使用してIDを保存できます。
SADD Table1 9324324 9324325
最後に、Table1コレクションに関連付けられているReqNoデータを取得するには:
SORT Table1 BY NOSORT GET # GET Id:*->ReqNo
特定のReqNoに関連付けられているすべてのIDも検索する場合は、このアクセスパスをサポートするための別の構造が必要です。
SADD ReqNo:23432 9324324 9324325
したがって、次を使用してレコード23432のIDのリストを取得できます。
SMEMBERS ReqNo:23432
言い換えれば、リレーショナルモデルを転置しようとしないでください。ユースケースをサポートする独自のデータ構造を作成するだけです。