Latest web development tutorials

Typy danych Redis

Redis obsługuje pięć typów danych: string (łańcuch), skrót (hash), lista (lista), zestaw (set) i zset (sortowane zestaw: zamówiony zestaw).


String (String)

Redis ciąg jest najbardziej podstawowy typ można zrozumieć dokładnie tego samego typu jak w Memcached, klucza odpowiadającego wartości.

typ string jest bezpieczny binarny. Znaczenie Redis ciąg może zawierać żadnych danych. Takich jak JPG lub sekwencji obiektów.

Redis typu ciąg jest podstawowe typy danych, klucz można przechowywać maksymalnie 512 MB.

Przykłady

redis 127.0.0.1:6379> SET name "w3big"
OK
redis 127.0.0.1:6379> GET name
"w3big"

W powyższym przykładzie używamy RedisSeta i GETpoleceń. Kluczem jest nazwa, odpowiednia wartość w3big.

Uwaga: Klucz może przechowywać maksymalnie 512 MB.


Hash (skrót)

Redis hash to zbiór par klucz-wartość.

Redis hash jest typu ciąg pola i wartości tabeli odwzorowania, mieszania jest szczególnie odpowiedni do przechowywania przedmiotów.

Przykłady

127.0.0.1:6379> HMSET user:1 username w3big password w3big points 200
OK
127.0.0.1:6379> HGETALL user:1
1) "username"
2) "w3big"
3) "password"
4) "w3big"
5) "points"
6) "200"

Przykłady powyższych typów danych przechowywanych w hash obiektu użytkownika, który zawiera skrypty. Przykłady używamy Redis HMSET,polecenie HGETALL, użytkownika: 1 jako klucza.

Każdy hash może przechowywać par klucz-wartość 232-1 (4000000000).


List (lista)

Lista Redis jest prosta lista posortowanych ciągów wstawiania. Można dodać element na czele listy (po lewej) lub z tyłu (po prawej).

Przykłady

redis 127.0.0.1:6379> lpush w3big redis
(integer) 1
redis 127.0.0.1:6379> lpush w3big mongodb
(integer) 2
redis 127.0.0.1:6379> lpush w3big rabitmq
(integer) 3
redis 127.0.0.1:6379> lrange w3big 0 10
1) "rabitmq"
2) "mongodb"
3) "redis"
redis 127.0.0.1:6379>

Lista może pomieścić 232--1 element (4,294,967,295 Każda lista może przechowywać więcej niż 4 mld).


Zestaw (kolekcji)

Redis jest nieuporządkowana kolekcja Komplet typu string.

Ustawiane przez tabeli mieszania do osiągnięcia, więc dodawać, usuwać znaleźć złożoność O (1).

komenda Sadd

Dodając do elementu łańcucha, klawisz odpowiadający zestaw kolekcja, udany powrót 1 return 0, jeśli element już w kolekcji, klawisz odpowiadający zestawu nie istnieje zwracany jest błąd.

sadd key member

Przykłady

redis 127.0.0.1:6379> sadd w3big redis
(integer) 1
redis 127.0.0.1:6379> sadd w3big mongodb
(integer) 1
redis 127.0.0.1:6379> sadd w3big rabitmq
(integer) 1
redis 127.0.0.1:6379> sadd w3big rabitmq
(integer) 0
redis 127.0.0.1:6379> smembers w3big

1) "rabitmq"
2) "mongodb"
3) "redis"

Uwaga: Powyższy przykład rabitmq dodaje dwa razy, ale w oparciu o unikalny zestaw elementów w ramach drugiego elementu wprowadzającego jest ignorowany.

Ustaw maksymalną liczbę członków 232--1 (4294967295 Każdy zestaw może przechowywać ponad 40 milionów członków).


zset (klasyfikowane set: uporządkowana kolekcja)

Redis zset i jest ustawiony jako zbiór elementów typu string, i nie pozwala duplikaty członków.

Różnica polega na tym, że są związane z każdym typem elementu podwójnego wynik. To dzięki punktacji Redis dla małych i dużych kolejności członków zbiórki.

członkiem Zset jest wyjątkowy, ale wynik (wynik) można powtórzyć.

komenda zadd

Dodaj element do kolekcji, element jest obecny w kolekcji aktualizuje odpowiedni wynik

zadd key score member 

Przykłady

redis 127.0.0.1:6379> zadd w3big 0 redis
(integer) 1
redis 127.0.0.1:6379> zadd w3big 0 mongodb
(integer) 1
redis 127.0.0.1:6379> zadd w3big 0 rabitmq
(integer) 1
redis 127.0.0.1:6379> zadd w3big 0 rabitmq
(integer) 0
redis 127.0.0.1:6379> ZRANGEBYSCORE w3big 0 1000

1) "redis"
2) "mongodb"
3) "rabitmq"