Redis est un acronyme pour R emote d serveur ictionnaire. Il s'agit d'une base de données / magasin clé-valeur open source, en mémoire et persistante qui stocke les données sous forme de paires clé-valeur et se double également d'un courtier de messages. Redis prend en charge un large éventail de structures de données, y compris des ensembles , listes , hachages , chaînes , HyperLogLogs et bien d'autres encore.
Qu'est-ce qu'une paire clé-valeur ?
Une paire clé-valeur est un ensemble ou une paire de deux éléments liés. Considérez ce qui suit :
voiture =Mercedes
Dans ce cas, la voiture est la clé et Mercedes est la valeur. Dans une base de données Redis, ces informations peuvent être écrites à l'aide de la syntaxe :
SET "clé1" "valeur1"
Notre exemple se traduira par :
SET "voiture" "Mercedes"
Avantages de l'utilisation de Redis
- Contrairement aux bases de données relationnelles telles que MySQL, Redis est une base de données NoSQL qui stocke les données sous la forme d'une paire clé-valeur. Cela le rend simple et flexible car il n'est pas nécessaire de créer des tables, des colonnes et des lignes associées à des bases de données relationnelles. Transmettre des données à Redis est simple et direct.
- L'une des utilisations apparentes de Redis est son utilisation en tant que système de mise en cache. Ce faisant, il offre également une persistance aux données qui y sont écrites.
- L'architecture en mémoire de Redis le rend ultra-rapide pour le stockage et la récupération des données.
- Le système de cache Redis est assez robuste et a la capacité de résister aux pannes et aux interruptions.
- Redis est livré avec une fonctionnalité de réplication maître-esclave. Lorsque des modifications sont apportées au nœud maître, elles sont automatiquement répliquées sur les nœuds esclaves pour garantir une haute disponibilité.
- Redis peut stocker des paires clé/valeur volumineuses pouvant atteindre 512 Mo.
- Compte tenu de son faible encombrement, Redis peut être installé sur des appareils IoT tels que Raspberry Pi et Arduino pour prendre en charge les applications IoT.
- Redis est une base de données multiplateforme et un système de mise en cache qui peut être installé sous Windows, mac et Linux.
Cas d'utilisation Redis
Avec les avantages décrits ci-dessus, Redis peut être utilisé des manières suivantes :
- Analyse des données statistiques en temps réel.
- Utilisé pour l'intégration avec les services AWS tels que les instances CloudTrail, CloudWatch et Amazon EC2.
- Cela peut être une excellente option pour mettre en cache des sites Web.
- Les plates-formes de médias sociaux telles qu'Instagram utilisent Redis pour stocker les images
- Redis prend en charge un large éventail de types de données, tels que les hyperloglogs, les hachages et les données géospatiales.
Voyons maintenant comment vous pouvez installer Redis sur CentOS 8 / RHEL 8
Étape 1 :Mettre à jour les dépôts système
Connectez-vous à votre système CentOS 8 / RHEL 8 et mettez à jour les packages et les référentiels système à l'aide de la commande :
$ sudo dnf update -y
Étape 2 :Installez Redis avec dnf
La version 5.0.x de Redis est désormais incluse dans le référentiel CentOS 8 AppStream et son installation est une promenade dans le parc. Exécutez simplement la commande :
$ sudo dnf install redis -y
Une fois installé, vous pouvez vérifier la version de Redis installée en exécutant la commande :
[[email protected] ~]$ rpm -q redis redis-5.0.3-1.module_el8.0.0+6+ab019c03.x86_64 [[email protected] ~]$
D'après la sortie, il est clair que nous avons installé Redis version 5.0.3. Pour récupérer plus d'informations sur Redis telles que la version, l'architecture, la licence et une brève description, exécutez la commande :
$ rpm -qi redis
Pour démarrer et activer le service Redis, exécutez les commandes systemctl suivantes :
$ sudo systemctl start redis $ sudo systemctl enable redis
Une fois démarré, vous pouvez vérifier son statut en exécutant
$ sudo systemctl status redis
Par défaut, Redis s'exécute sur le port 6379. Vous pouvez le vérifier en exécutant la commande netstat :
$ sudo netstat -pnltu | grep redis
Étape 3 :Configurer Redis pour l'accès à distance
L'installation par défaut n'autorise que les connexions depuis localhost ou le serveur Redis et bloque toutes les connexions externes. Nous allons configurer Redis pour une connexion à distance depuis une machine cliente.
Accédez au fichier de configuration comme indiqué :
$ sudo vim /etc/redis.conf
Localisez le paramètre de liaison et remplacez 127.0.0.1 par 0.0.0.0
bind 0.0.0.0
Enregistrez et fermez le fichier de configuration. Pour que les modifications prennent effet, redémarrez Redis.
$ sudo systemctl restart redis
Pour vous connecter au shell Redis, exécutez la commande :
$ redis-cli
Essayez de faire un ping sur le serveur redis. Vous devriez obtenir une réponse "PONG" comme indiqué.
[[email protected] ~]$ redis-cli 127.0.0.1:6379> ping PONG 127.0.0.1:6379>
Étape 4 :Sécuriser le serveur Redis
Notre configuration Redis permet à quiconque d'accéder au shell et aux bases de données sans authentification, ce qui pose un grave risque de sécurité. Pour définir un mot de passe, revenez au fichier de configuration /etc/redis.conf
Localisez et décommentez le paramètre requirepass et spécifiez un mot de passe fort comme indiqué
Redémarrez Redis et retournez sur le serveur.
$ sudo systemctl restart redis
Si vous essayez d'exécuter une commande avant de vous authentifier, l'erreur ci-dessous s'affichera
[[email protected] ~]$ redis-cli 127.0.0.1:6379> ping (error) NOAUTH Authentication required. 127.0.0.1:6379>
Pour vous authentifier, tapez « auth » suivi du mot de passe défini. Dans notre cas ce sera :
auth [protégé par e-mail]
Par la suite, vous pouvez continuer à exécuter vos commandes.
[[email protected] ~]$ redis-cli 127.0.0.1:6379> auth [email protected] OK 127.0.0.1:6379> ping PONG 127.0.0.1:6379>
Pour sortir de redis-cli, tapez exit
Étape 5 :Configurer le pare-feu pour redis
Enfin, nous devons configurer le pare-feu pour autoriser les connexions à distance au serveur Redis. Pour ce faire, nous devons ouvrir le port redis qui est 6379.
Alors, exécutez les commandes ci-dessous.
$ sudo firewall-cmd --add-port=6379/tcp --permanent $ sudo firewall-cmd --reload
Pour accéder à Redis à distance, utilisez la syntaxe ci-dessous.
$ redis-cli -h REDIS_IP_ADDRESS
Authentifiez-vous ensuite et appuyez sur 'ENTER '
L'adresse IP de notre serveur Redis est 192.168.1.5 La commande d'un autre PC client sera
$ redis-cli -h 192.168.1.5
Ensuite, fournissez le mot de passe et appuyez sur "ENTRER"
auth [protégé par e-mail]
Ci-dessus confirme que Redis Server a été installé avec succès, passons à notre section suivante.
Comment effectuer le benchmark Redis
Redis est livré avec un outil intégré appelé redis-benchmark qui donne des informations sur les statistiques de performances du système telles que le taux de transfert de données, le débit et la latence pour n'en citer que quelques-uns.
Certaines des options de commande que vous pouvez utiliser avec Redis incluent
- -n : Ceci définit le nombre de requêtes à effectuer. La valeur par défaut est 100000
- -c : Définit le nombre de connexions parallèles à simuler. Par défaut, cette valeur est 50
- -p : Il s'agit du port Redis qui est par défaut 6379
- -h : Utilisé pour définir l'hôte. Par défaut, cette valeur est définie sur localhost (127.0.0.1)
- -a : Utilisé pour demander un mot de passe si le serveur a besoin d'une authentification
- -q : représente le mode silencieux. Affiche la moyenne des requêtes effectuées par seconde
- -t : Utilisé pour exécuter une combinaison de tests
- -P : Utilisé pour le pipelining afin d'améliorer les performances.
- -d :spécifie la taille des données en octets pour les valeurs GET et SET. Par défaut, il est défini sur 3 octets
Exemples :
Pour confirmer la moyenne non. des requêtes que votre serveur Redis peut gérer exécutez la commande :
$ redis-benchmark -q
Faites attention à la dernière ligne. Cela indique que Redis peut gérer 23046 requêtes par seconde.
De plus, vous pouvez utiliser l'option -t pour exécuter un sous-ensemble de commandes. Dans l'exemple ci-dessous, nous l'utilisons pour afficher le non moyen. demandes de commandes SET et GET.
$ redis-benchmark -t set,get -q
[[email protected] ~]$ redis-benchmark -t set,get -q SET: 26102.84 requests per second GET: 25555.84 requests per second [[email protected] ~]$
D'après la sortie, nous pouvons voir que nous avons 26102,84 requêtes par seconde pour la commande SET et 25555,84 requêtes pour la commande GET.
Par défaut, le nombre de connexions parallèles est 50 . Pour spécifier un nombre différent de connexions client, disons 1000, utilisez le paramètre -c comme indiqué :
[[email protected] ~]$ redis-benchmark -t set,get -q -c 1000 SET: 21997.36 requests per second GET: 22119.00 requests per second [[email protected] ~]$
Comme vous l'avez peut-être observé, le nombre de requêtes par seconde a diminué en raison de l'augmentation du nombre de connexions parallèles de 50 à 1 000.
Intensifions et fixons le nombre de requêtes à 1000000
[[email protected] ~]$ redis-benchmark -t set,get -q -c 1000 -n 1000000 SET: 16660.28 requests per second GET: 21550.79 requests per second [[email protected] ~]$
Encore une fois, les valeurs de SET et GET diminuent en raison de l'augmentation du nombre de requêtes de la valeur par défaut de 100 000 à 1 000 000.
Et ceci conclut notre sujet d'aujourd'hui. Nous avons installé avec succès le serveur Redis sur CentOS 8 et réussi à effectuer quelques tests d'évaluation sur notre serveur. Vous êtes les bienvenus pour partager vos commentaires et commentaires.