English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Redis prend en charge cinq types de données : chaîne (chaîne), hachage (hachage), liste (liste), ensemble (ensemble) et zset (ensemble ordonné : ensemble ordonné).
La chaîne est le type de base le plus simple de Redis, vous pouvez la comprendre comme identique à Memcached, un clé correspond à une valeur.
Le type string est sécurisé en binary. Cela signifie que les strings redis peuvent contenir n'importe quel type de données. Par exemple, des images jpg ou des objets sérialisés.
Le type string est le type de données de base le plus simple de Redis, la valeur du type string peut stocker au maximum 512MB.
redis 127.0.0.1:6379> SET w3codebox "Réseau de bases de connaissances" OK redis 127.0.0.1:6379> GET w3codebox "Réseau de bases de connaissances"
Dans l'exemple ci-dessus, nous avons utilisé Redis SET et GET commande. La clé est w3codebox, la valeur correspondante étant Réseau de bases de connaissances.
注意:Une clé peut stocker au maximum 512MB.
Les hashes Redis sont une collection de paires clé-valeur (key=>value).
Les hashes Redis sont une table de correspondance de type string pour les champs et les valeurs, les hashes sont particulièrement adaptés pour stocker des objets.
DEL w3codebox est utilisé pour supprimer les clé utilisées dans les tests précédents, sinon une erreur sera signalée :(erreur) TYPE Mauvaise opération contre une clé contenant le mauvais type de valeur
redis 127.0.0.1:6379> DEL w3codebox redis 127.0.0.1:6379> HMSET w3codebox field1 "Hello" field2 "World" "OK" redis 127.0.0.1:6379> HGET w3codebox field1 "Hello" redis 127.0.0.1:6379> HGET w3codebox field2 "World"
Dans l'exemple, nous avons utilisé Redis HMSET, HGET ,commande HMSET Deux couples field=>value ont été définis, HGET récupère celui correspondant field correspondant à value.
Chaque hash peut stocker 232 -1 Couples clé-valeur (40 plus de milliards).
Les listes Redis sont des listes de chaînes de caractères simples, triées par ordre d'insertion. Vous pouvez ajouter un élément au début (à gauche) ou à la fin (à droite) de la liste.
redis 127.0.0.1:6379> DEL w3codebox redis 127.0.0.1:6379> lpush w3codebox redis (integer) 1 redis 127.0.0.1:6379> lpush w3codebox mongodb (integer) 2 redis 127.0.0.1:6379> lpush w3codebox rabbitmq (integer) 3 redis 127.0.0.1:6379> lrange w3codebox 0 10 1) "rabbitmq" 2) "mongodb" 3) "redis" redis 127.0.0.1:6379>
La liste peut stocker au maximum 232 - 1 élément (4294967295, chaque liste peut stocker40 plus de milliards).
Les Sets de Redis sont des ensembles non ordonnés de type string.
Les ensembles sont implémentés par des tables de hachage, donc la complexité des opérations d'ajout, de suppression et de recherche est de O(1)。
Ajoute un élément string à l'ensemble correspondant à la clé, retourne avec succès 1retourne 0 si l'élément est déjà dans l'ensemble.
sadd clé membre
redis 127.0.0.1:6379> DEL w3codebox redis 127.0.0.1:6379> SADD w3codebox redis (integer) 1 redis 127.0.0.1:6379> SADD w3codebox mongodb (integer) 1 redis 127.0.0.1:6379> SADD w3codebox rabbitmq (integer) 1 redis 127.0.0.1:6379> SADD w3codebox rabbitmq (integer) 0 redis 127.0.0.1:6379> SMEMBERS w3codebox 1) "redis" 2) "rabbitmq" 3) "mongodb"
注意:以上示例中 rabbitmq 添加了两次,但根据集合内元素的唯一性,第二次插入的元素将被忽略。
集合中最大的成员数为 232 - 1(4294967295, 每个集合可存储40多亿个成员)。
Redis zset和set一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。Redis正是通过分数来为集合中的成员进行从小到大的排序。
zset的成员是唯一的,但分数(score)可以重复。
向集合添加元素,如果元素已存在则更新对应的score
ZADD key score member
redis 127.0.0.1:6379> DEL w3codebox redis 127.0.0.1:6379> ZADD w3codebox 0 redis (integer) 1 redis 127.0.0.1:6379> ZADD w3codebox 0 mongodb (integer) 1 redis 127.0.0.1:6379> ZADD w3codebox 0 rabbitmq (integer) 1 redis 127.0.0.1:6379> ZADD w3codebox 0 rabbitmq (integer) 0 redis 127.0.0.1:6379> ZRANGEBYSCORE w3codebox 0 1000 1) "mongodb" 2) "rabbitmq" 3) "redis"