Redis
 sql >> база данни >  >> NoSQL >> Redis

Redis как да съхранявам асоциативен масив? Set или Hash или List?

Можете да използвате SET и Hash и SORT в комбинация

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

За да получите един ХЕШ:

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"

ЗА ПОЛУЧАВАНЕ НА всички ХЕШ

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"

Ако не искате да използвате сортиране, можете да използвате Извличане на всички имена на ключове от SET с помощта на SMEMBERS и след това използвайте Redis Pipeline, за да извлечете всички ключове



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. как да проверя версията на екземпляра на redis?

  2. Кеширането на Laravel с Redis е много бавно

  3. Унищожаване/премахване на Queue() в Redis Queue (rq) програмно

  4. Java конвертира байтове в двоичен безопасен низ

  5. Как да накарам Redis да избере политика за изгонване на LRU само за някои от ключовете?