Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Uzyskaj wszystkie pola i wartości klucza skrótu za pomocą redis w węźle

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.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Redis różni się między dwiema listami?

  2. redis-py :Jaka jest różnica między StrictRedis() i Redis()?

  3. ModuleNotFoundError:Brak modułu o nazwie „grp” w systemie Windows

  4. wyślij wiadomość downstream do google ccs z węzłem js

  5. ZRANGESTORE przed Redis 6.2.0