Redis - Types de données

Redis prend en charge 5 types de types de données.

Cordes

La chaîne Redis est une séquence d'octets. Les chaînes dans Redis sont binaires sûres, ce qui signifie qu'elles ont une longueur connue non déterminée par des caractères de fin spéciaux. Ainsi, vous pouvez stocker jusqu'à 512 mégaoctets dans une chaîne.

Exemple

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

Dans l'exemple ci-dessus, SET et GET sont des commandes Redis, name est la clé utilisée dans Redis et tutorialspoint est la valeur de chaîne stockée dans Redis.

Note - Une valeur de chaîne peut avoir une longueur maximale de 512 mégaoctets.

Hashs

Un hachage Redis est une collection de paires valeur / clé. Les hachages Redis sont des mappages entre les champs de chaîne et les valeurs de chaîne. Par conséquent, ils sont utilisés pour représenter des objets.

Exemple

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

Dans l'exemple ci-dessus, le type de données de hachage est utilisé pour stocker l'objet de l'utilisateur qui contient des informations de base sur l'utilisateur. IciHMSET, HGETALL sont des commandes pour Redis, tandis que user − 1 C'est la clé.

Chaque hachage peut stocker jusqu'à 2 32 - 1 paires de valeurs de champ (plus de 4 milliards).

Listes

Les listes Redis sont simplement des listes de chaînes, triées par ordre d'insertion. Vous pouvez ajouter des éléments à une liste Redis sur la tête ou sur la queue.

Exemple

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

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

La longueur maximale d'une liste est de 2 32 - 1 éléments (4294967295, plus de 4 milliards d'éléments par liste).

Ensembles

Les ensembles Redis sont une collection non ordonnée de chaînes. Dans Redis, vous pouvez ajouter, supprimer et tester l'existence de membres en complexité temporelle O (1).

Exemple

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

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

Note - Dans l'exemple ci-dessus, rabitmq est ajouté deux fois, mais en raison de la propriété unique de l'ensemble, il n'est ajouté qu'une seule fois.

Le nombre maximum de membres dans un ensemble est de 2 32 - 1 (4294967295, plus de 4 milliards de membres par ensemble).

Ensembles triés

Les ensembles triés Redis sont similaires aux ensembles Redis, des collections non répétitives de chaînes. La différence est que chaque membre d'un ensemble trié est associé à un score, qui est utilisé pour prendre l'ensemble trié ordonné, du plus petit au plus grand score. Bien que les membres soient uniques, les scores peuvent être répétés.

Exemple

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

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