Maison >interface Web >js tutoriel >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.
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 :
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.
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.
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
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é
Sous Linux, installer Rédis est aussi simple que
sudo apt install redis
ou sur Mac :
brew install redis
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
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.
Les paires clé-valeur constituent une structure de données courante dans la plupart des langages de programmation.
En Python, cela s'appelle dictionnaires ou dict en bref
En Javascript, cela s'appelle Maps
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!