sql >> Database teknologi >  >> NoSQL >> Redis

Redis, hvordan man gemmer associative array? Sæt eller Hash eller List?

Du kan bruge SET og Hash og 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

Sådan FÅR du én 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"

AT FÅ ALLE 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"

Hvis du ikke vil bruge sortering, kan du bruge Hent alle nøglenavne fra SET ved at bruge SMEMBERS og brug derefter Redis Pipeline til at hente alle nøglerne



  1. MongoDB $isNumber

  2. Hvordan udfører man MongoDB native query (JSON) kun ved hjælp af mongo-java-driver?

  3. MongoDB BSON-codec bruges ikke under kodning af objekt

  4. Har nogen prøvet CouchDB og forskellige offline implementeringer (PouchDB)?