sql >> Databasteknik >  >> NoSQL >> Redis

Redis hur man lagrar associativ array? Set eller Hash eller List?

Du kan använda SET och Hash och SORT i kombination

redis 127.0.0.1:6379> HMSET TEST_12345 name "Post A" val2 "Blah Blah" val3 "Blah Blah Blah"
OK
redis 127.0.0.1:6379> HMSET TEST_54321 name "Post B" val2 "Blah Blah" val3 "Blah Blah Blah"
OK
redis 127.0.0.1:6379> HMSET TEST_998877 name "Post C" val2 "Blah Blah" val3 "Blah Blah Blah"
OK
redis 127.0.0.1:6379> SADD All_keys TEST_12345 TEST_54321 TEST_998877
(integer) 3
redis 127.0.0.1:6379> HGETALL TEST_12345

För att få en HASH:

redis 127.0.0.1:6379> HGETALL TEST_12345
1) "name"
2) "Post A"
3) "val2"
4) "Blah Blah"
5) "val3"
6) "Blah Blah Blah"

ATT FÅ ALLT HASH

redis 127.0.0.1:6379> SORT All_keys BY nosort GET *->name GET *->val2 GET *->val3
1) "Post A"
2) "Blah Blah"
3) "Blah Blah Blah"
4) "Post B"
5) "Blah Blah"
6) "Blah Blah Blah"
7) "Post C"
8) "Blah Blah"
9) "Blah Blah Blah"

Om du inte vill använda sortering kan du använda Hämta alla nyckelnamn från SET med SMEMBERS och använd sedan Redis Pipeline för att hämta alla nycklar



  1. Hur kan jag lista alla samlingar i MongoDB-skalet?

  2. Hur man ansluter till Redis-instans (memorystore) från Googles standardappmotor (Python 3.7)

  3. 2 sätt att begränsa dokumenten som returneras i MongoDB

  4. Hur kör jag ett MongoDB js-skript med Java MongoDriver