Type de données Redis
Redis prend en charge cinq types de données : string (string), hash (hash), list (list), set (set) et zset (ensemble trié : ensemble ordonné).
String (string)
String est le type de redis le plus basique. Vous pouvez le comprendre comme exactement le même type que Memcached. Une clé correspond à une valeur.
Le type de chaîne est sécurisé en binaire. Cela signifie que la chaîne redis peut contenir n'importe quelle donnée. Par exemple, des images jpg ou des objets sérialisés .
Le type chaîne est le type de données le plus basique de Redis, et une clé peut stocker jusqu'à 512 Mo.
Exemple
redis 127.0.0.1:6379> SET name "w3cschool.cc" OK redis 127.0.0.1:6379> GET name "w3cschool.cc"
Dans l'exemple ci-dessus, nous avons utilisé les commandes SET et GET de Redis. La clé est le nom et la valeur correspondante est w3cschool.cc.
Remarque : Une clé peut stocker jusqu'à 512 Mo.
Hash (Hash)
Le hachage Redis est une collection de paires clé-valeur.
Redis hash est une table de mappage de champs et de valeurs de type chaîne. Hash est particulièrement adapté au stockage d'objets.
Exemple
redis 127.0.0.1:6379> HMSET user:1 username w3cschool.cc password w3cschool.cc points 200 OK redis 127.0.0.1:6379> HGETALL user:1 1) "username" 2) "w3cschool.cc" 3) "password" 4) "w3cschool.cc" 5) "points" 6) "200" redis 127.0.0.1:6379>
Dans l'exemple ci-dessus, le type de données de hachage stocke l'objet utilisateur contenant les informations du script utilisateur. Dans l'exemple, nous utilisons la commande Redis HMSET, HGETALL et user:1 est la valeur clé.
Chaque hachage peut stocker 232 - 1 paires clé-valeur (plus de 4 milliards).Liste (Liste)
Une liste Redis est une simple liste de chaînes, triées par ordre d'insertion. Vous pouvez ajouter un élément en tête (à gauche) ou en queue (à droite) de la liste. Les listes
Instance
redis 127.0.0.1:6379> lpush w3cschool.cc redis (integer) 1 redis 127.0.0.1:6379> lpush w3cschool.cc mongodb (integer) 2 redis 127.0.0.1:6379> lpush w3cschool.cc rabitmq (integer) 3 redis 127.0.0.1:6379> lrange w3cschool.cc 0 10 1) "rabitmq" 2) "mongodb" 3) "redis" redis 127.0.0.1:6379>
peuvent stocker jusqu'à 232 - 1 éléments (4294967295, chaque liste peut stocker plus de 4 milliards).
Set (set)
Redis' Set est une collection non ordonnée de type chaîne.
Les collections sont implémentées via des tables de hachage, donc la complexité de l'ajout, de la suppression et de la recherche est O(1).
La commande sadd
ajoute un élément chaîne à la collection d'ensembles correspondant à la clé et renvoie 1 avec succès. Si l'élément est dans la collection et renvoie 0, l'ensemble correspondant à la clé n'existe pas. et renvoie une erreur.
sadd key member
Exemple
redis 127.0.0.1:6379> sadd w3cschool.cc redis (integer) 1 redis 127.0.0.1:6379> sadd w3cschool.cc mongodb (integer) 1 redis 127.0.0.1:6379> sadd w3cschool.cc rabitmq (integer) 1 redis 127.0.0.1:6379> sadd w3cschool.cc rabitmq (integer) 0 redis 127.0.0.1:6379> smembers w3cschool.cc 1) "rabitmq" 2) "mongodb" 3) "redis"
Remarque : rabitmq ajouté deux fois dans l'exemple ci-dessus, mais selon le caractère unique des éléments de la collection, le deuxième élément inséré sera ignoré .
Le nombre maximum de membres dans une collection est de 232 - 1 (4294967295, chaque collection peut stocker plus de 4 milliards de membres).
zset (ensemble trié : ensemble ordonné)
Redis zset, comme set, est également une collection d'éléments de type chaîne et n'autorise pas les membres en double.La différence est que chaque élément est associé à une partition de type double. Redis utilise des scores pour trier les membres de la collection du plus petit au plus grand.
Les membres de zset sont uniques, mais les scores peuvent être répétés.
la commande zadd
ajoute des éléments à la collection. Si l'élément existe dans la collection, la partition correspondante sera mise à jour
zadd key score member
instance
redis 127.0.0.1:6379> zadd w3cschool.cc 0 redis (integer) 1 redis 127.0.0.1:6379> zadd w3cschool.cc 0 mongodb (integer) 1 redis 127.0.0.1:6379> zadd w3cschool.cc 0 rabitmq (integer) 1 redis 127.0.0.1:6379> zadd w3cschool.cc 0 rabitmq (integer) 0 redis 127.0.0.1:6379> ZRANGEBYSCORE w3cschool.cc 0 1000 1) "redis" 2) "mongodb" 3) "rabitmq"