Rédis

WBOY
WBOYoriginal
2024-08-10 20:42:33569parcourir

Rédis

Rédis est une base de données NOSQL dans laquelle les données sont stockées dans des paires clé-valeur.
Rédis stocke les données sur la mémoire principale, ce qui signifie qu'elles sont rapides mais volatiles, contrairement aux systèmes de bases de données comme PostgreSQL qui stockent les données sur disque.

Aperçu

Dans une application avec un serveur et une base de données, l'accès aux informations sur la base de données entraînera une latence.

Les bases de données de valeurs-clés comme Rédis sont souvent conservées devant ces bases de données et les opérations d'accès se déroulent en 2 étapes :

  1. Si les informations sont dans le cache, cache hit, l'application récupère les informations de redis et les envoie au client
  2. Sinon, cache manqué, l'application récupère les informations de la base de données, les envoie au client et les stocke dans le cache.

Avec ces 2 étapes et étant donné que la mémoire principale a une latence inférieure à celle du disque, nous pouvons dire que Rédis peut être utilisé pour stocker et accéder à des données fréquentes et récentes et à des opérations coûteuses, rendant ainsi les applications 10 à 50 fois plus rapides.

C'est donc un fait que si vous souhaitez créer une application qui sera évolutive à l'avenir, Rédis (ou des bases de données similaires à Rédis) est indispensable.


Questions

  1. Rédis est-il Open Source ? : Oui, Rédis est open source avec un type de licence spécial, mais il existe des alternatives comme KeyDB de Snapchat et Memcached qui sont open source. KeyDB est un fork de Rédis mais ne peut pour l'instant fonctionner que sous Linux.

  2. Rédis prend-il en charge Windows ? : Non, Rédis ne prend pas en charge Windows, mais vous pouvez installer WSL/Ubuntu et installer Rédis en utilisant

sudo apt install redis
  1. J'utilise WSL, pourquoi le serveur Rédis ne fonctionne-t-il pas sur mon système : lors de l'exécution sur WSL, vous pouvez exécuter le serveur Rédis en utilisant
redis-server --port 6000

où 6000 est le port de votre serveur local sur lequel vous souhaitez l'exécuter. (c'est-à-dire 127.0.0.1:6000).

La plupart des problèmes sont dus au fait que le port par défaut utilisé par Rédis-server est déjà utilisé

  1. Existe-t-il des bibliothèques clientes pour Rédis ? : En fait, oui. vous pouvez les trouver sur le site Web Rédis ou vous pouvez en créer un vous-même.

Installation de Rédis

Sous Linux, installer Rédis est aussi simple que

sudo apt install redis

ou sur Mac :

brew install redis

Exécuter Rédis

Vous devez avoir 2 instances de votre terminal sur

sur le premier à exécuter votre serveur

redis-server -port <portnumber>
</portnumber>

et sur le deuxième pour exécuter votre client

redis-cli

Lors de la création d'une application Web, vous n'avez pas besoin d'exécuter le client mais le serveur doit être en cours d'exécution

Concepts Rédis

Il y a 3 concepts principaux dans Rédis que vous devez comprendre ou 4

  1. Paires clé-valeur
  2. Listes
  3. Ensembles
  4. Hachages

Toutes les autres structures de données sont principalement une implémentation avancée de la première

Par liste, je voulais dire tableau pas liste chaînée et c'est ainsi que Rédis l'appelle.


Paires clé-valeur

Les paires clé-valeur constituent une structure de données courante dans la plupart des langages de programmation.

  1. En Python, cela s'appelle dictionnaires ou dict en bref

  2. En Javascript, cela s'appelle Maps

  3. En C#, cela s'appelle Dictionnaires

Il existe 6 opérations principales pour les paires clé-valeur dans Rédis

Operations Explanations Examples Further Explanation
SET Creates a key-value pair SET name John Sets key to map to value
GET Gets value for key GET name This returns John
DEL Deletes the key value pair DEL name This removesthe key value pair name from the database
EXISTS Checks if a key exists in the redis database EXISTS name returns 1 or 0 corresponding to True or False
FLUSHALL Clears the entire cache FLUSHALL more or less like DROP TABLE in postgres
KEYS * Returns all the keys in the database KEYS *

Il existe également des opérations basées sur le temps. Dans les opérations basées sur le temps, la clé n'est dans le cache que pendant une durée définie. Une fois le délai écoulé, le cache supprime la clé.

Il existe 2 opérations principales basées sur le temps

Operations Explanations Examples Further Explanation
EXPIRE Expires a key after being defined EXPIRE name 10 Deletes the key-value name after 10s .The key must be defined with SET before calling EXPIRE . A common alternative is;
SETEX Expires a key upon definition SETEX age 30 15 Sets the key age to value 30 and thereafter deleted the key-value pair after 15s
TTL Time To Live TTL age Returns the time remaining before deletion of the age key

Le Blog devient trop long maintenant, je vais parler des listes, des sets, des hashmaps et aussi des questions d'entretien possibles sur redis dans un autre blog.

S'il vous plaît, si vous avez des questions, veuillez les commenter ci-dessous, je ferai de mon mieux pour y répondre ⭐. Bon codage

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