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

Redis jak przechowywać tablicę asocjacyjną? Ustaw czy hasz czy lista?

Możesz używać kombinacji SET, Hash i 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

Aby UZYSKAĆ ​​jeden 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"

ABY UZYSKAĆ ​​WSZYSTKIE 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"

Jeśli nie chcesz używać sortowania, możesz użyć funkcji Pobierz wszystkie nazwy kluczy z SET za pomocą SMEMBERS a następnie użyj Redis Pipeline, aby pobrać wszystkie klucze



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Najlepsza praktyka aktualizacji Redis za pomocą Sentinels?

  2. Jedis — kiedy używać metody returnBrokenResource()

  3. Liczba skanów Redis:jak zmusić funkcję SCAN do zwracania wszystkich kluczy zgodnych ze wzorcem?

  4. jak uzyskać dostęp do sesji gniazda we wszystkich klastrach

  5. Jak ustawić wygaśnięcie wielu kluczy w Redis