sql >> Databasteknik >  >> NoSQL >> Redis

Hur man lagrar array av hash i redis

Det enda sättet för AFAIK är att ta bort hänvisningen till dem. Säg att du har en array med 2 hashar som:{foo:'bar', baz:'qux'} .

Du skulle lagra dem separat och sedan skapa ett SET som refererar till dem alla:

HMSET myarr:0 foo bar baz qux
SADD myarr myarr:0
HMSET myarr:1 foo bar baz qux
SADD myarr myarr:1

Sedan kan du hämta dem alla genom att fråga uppsättningen:SMEMBERS myarr och ring sedan HGETALL på alla returnerade nycklar för att återskapa din ursprungliga array av hash.

Jag hoppas att detta är vettigt. Och om du hittar ett smartare sätt skulle jag gärna höra det.



  1. Ta bort ett objekt från en kapslad array med $pull och $[identifier] (mongoDB 3.6)

  2. Hur kan jag få alla uppsättningar i redis?

  3. Behöver jag uttryckligen stänga anslutningen?

  4. Hur ändrar man strukturen för MongoDB:s kartreducerande resultat?