Maison  >  Article  >  interface Web  >  Rédis 2

Rédis 2

WBOY
WBOYoriginal
2024-08-14 17:28:31348parcourir

Redis 2

Redis - Listes, ensembles et HashMaps

Ceci est une continuation du billet de blog précédent

Il existe 3 autres types de données disponibles en dehors des paires clé-valeur

Listes

Cette structure de données ressemble à la liste en Python ou au tableau en Javascript ou C#. Ils peuvent être utilisés pour conserver les objets récemment utilisés. Les opérations courantes sont :

Operations Explanations Examples Further Explanation
LPUSH Adds an Item to the beginning of the list LPUSH friends "Sophia" similar to Array.unshift in javascript
LRANGE Get all the items in a list LRANGE friends 0 -1 similiarly a list in python 0 is the first item and -1 is the last item
RPUSH Adds an item to the end of the list RPUSH friends "Poe" similar to Array.push in javascript
LPOP Removes an item from the start of the list LPOP friends "Poe" Will return 1 if Poe exists in the list and 0 otherwise
RPOP Removes an item from the end of the list RPOP friends "Sophia" Will return 1 if Sophia exists in the list and 0 otherwise

Ensembles

Une structure de données qui ne contient que des éléments uniques. similaire aux ensembles en Python et aux ensembles en Javascript et aux HashSets en C#. Les opérations courantes incluent :

Operations Explanations Examples Further Explanation
SADD Adds a value to the set SADD colors "pink"
SMEMBERS returns the members of the set SMEMBERS colors will return all the items in the set colors
SREM Removes members of the set SREM colors "pink" Will return 1 if pink exists in the list and 0 otherwise

Cartes de hachage

Une hashmap est un groupe de paires clé-valeur. Une hashmap ne peut cependant pas être imbriquée. Prenons le cas d'une personne avec un nom, une adresse e-mail et un numéro de téléphone

HSET person name "Joe" # Adds the key-value pair {name : joe} to the hashmap
HSET person email "Joe@joe.com" # Adds the key-value pair {email : Joe@joe.com} to the hashmap
HSET person phone_number "+2345656655413" # Adds the key-value pair {number : ....} to the hashmap

la commande HGET peut être utilisée pour obtenir la valeur d'une clé particulière dans un hashmap

HGET person name # returns "Joe"

la commande HGETALL toute la paire clé-valeur dans le hashmap

HGETALL person 

1) "name"
2) "Joe"
3) "email"
4) "Joe@joe.com"
5) "phone_number"
6) "+2345656655413"

la commande HDEL supprime une paire clé-valeur par sa clé

HDEL person name # removes {name : joe}

la commande HEXISTS vérifie si une clé existe dans un hashset

HEXISTS person name # returns 0 because we've deleted it before

Ce sont la plupart des commandes de base qu'un développeur doit connaître.


Questions d'entretien courantes

  1. Quelle est la signification complète de Redis ? : Redis signifie REmote DIctionary Server

  2. En quoi Redis diffère-t-il des bases de données traditionnelles comme MySQL ? : Redis fonctionne dans la mémoire principale et dispose d'opérations de base pour accéder rapidement aux valeurs contrairement à SQL qui réside sur le disque et dispose d'un large éventail d'opérations brutes.

  3. Quelles sont les limites de Redis concernant la taille et le type des données ? : Redis est conçu pour contenir des valeurs qui tiennent dans la mémoire de la machine. Il ne convient pas aux modèles relationnels complexes avec jointures ou à la structuration de gros blobs

  4. Comment gérer la mise en cache dans un environnement distribué à l'aide de Redis ? : Gérez la mise en cache en configurant des instances Redis en tant que couche de mise en cache devant la base de données. l'utilisation d'un hachage cohérent pour distribuer les clés entre les nœuds de cache garantit une répartition uniforme de la charge et réduit les échecs de cache

  5. Quand devez-vous utiliser les types de données List dans Redis ? : Les listes sont idéales pour les files d'attente atomiques durables, pour les files d'attente de tâches, les journaux, les tampons et de nombreux autres cas d'utilisation

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:useCallback VS useMemoArticle suivant:useCallback VS useMemo