Configuration de la persistance Redis (introduction d'image et de texte)
Configuration de la persistance Redis (introduction image et texte)
Brève introduction de Redis
redis est une base de données de valeurs-clés de type open source et hautement disponible c语言
(NoSQL, pas seulement une base de données) écrite par 非关系型数据库
.
Différentes des bases de données traditionnelles, les données Redis existent 内存
, donc les performances de lecture et d'écriture ne sont généralement pas élevées et peuvent atteindre 100 000 opérations par seconde, elles sont donc largement utilisées dans la mise en cache. Par exemple : partager des sessions avec. Tomcat dans l'architecture du site Web, effectuez la mise en cache de la base de données, etc.
Avantages et inconvénients de redis
Avantages
Vitesse de lecture et d'écriture rapide, la lecture peut atteindre 110 000 fois/s, l'écriture peut atteindre 81 000 fois/ s, Il est écrit en langage C, le code est élégant et il s'agit d'une architecture monothread, il a donc une efficacité d'exécution élevée et une vitesse rapide
Prend en charge une variété de structures de données , chaîne (chaîne, également la plus couramment utilisée), hachage, liste, ensemble, ensemble ordonné (ZSET)
Fonctions riches, telles que : compteur naturel, fonction d'expiration de clé , File d'attente des messages, etc.
prend en charge de nombreux langages clients, prend en charge php, java, python
prend en charge la persistance des données
Livré avec une variété d'architectures à haute disponibilité, telles que : réplication maître-esclave, sentinelle, cluster haute disponibilité
Inconvénients
C'est précisément parce que les données sont stockées dans la mémoire que les exigences en matière de performances du serveur sont strictes. Vous pouvez choisir la quantité de mémoire à acheter en fonction du volume d'activité. Il est difficile de réaliser une expansion en ligne, le premier achat est donc nécessaire. Soyez prudent
La persévérance est mentionnée ci-dessus. Qu'est-ce que la persévérance ?
La persistance prend en charge l'écriture des données en mémoire sur le disque pour éviter que toutes les données en mémoire ne soient perdues en cas de panne du serveur.
Comment obtenir la persistance
Prend en charge 2 formats de données persistantes AOF, RDB et un mélange de ces deux, AOF&RDB
Remarque : lorsque ces deux formats sont activés, redis AOF est préféré pour récupération de données, mais RDB est la méthode de persistance par défaut. Persistance AOF : Il enregistre chaque commande exécutée par redis dans un fichier journal désigné séparément Lors du redémarrage ou de la récupération des données, les données du fichier journal seront restaurées
RDB : Tout comme prendre un. instantané, définissez le cycle d'instantané en fonction des paramètres de sauvegarde définis dans le fichier de configuration, puis enregistrez-le sur le disque dur. Un fichier dump.rdb sera généré
Comparaison entre AOF et RDB :
Les fichiers 1AOF sont mis à jour plus fréquemment que rdb, la priorité est donnée à l'utilisation de aof pour restaurer
aof est plus sécurisé que rdb
Performances de rdb Meilleures que aof, lorsque la quantité de données est importante, la vitesse de récupération des journaux est plus lente que rdb
Pendant la lecture et l'écriture continues, si rdb prend un instantané , il y aura un retard dans les données et les données récupérées seront incomplètes
Structure des données Redis
.
Implémentation de la persistance de redis
Déploiement de redis
1 Créez un répertoire de données
mkdir -p /redis/soft mkdir -p /opt/redis_cluster/redis_6379/{conf,logs,pid}
Expliquez pourquoi vous créez vous-même les répertoires conf, logs et pid au lieu de. les laissant L'initialisation est générée automatiquement
Nous sommes dans l'ordre de démarrer plusieurs processus Redis sur un hôte pour implémenter le cluster Redis ultérieur (au moins 6) (la configuration de l'ordinateur de l'auteur ne me permet pas d'opérer arbitrairement)
2. Téléchargez le package d'installation redis
cd /redis/soft wget http://download.redis.io/releases/redis-5.0.6.tar.gz
3. Décompressez redis dans /opt/redis_cluster/
tar zxf redis-5.0.6.tar.gz -C /opt/redis_cluster/ ln -s /opt/redis_cluster/redis-5.0.6 /opt/redis_cluster/redis #做好软连接,方便自己管理
4. Changez de répertoire pour installer redis
cd /opt/redis_cluster/redis make && make install
5. fichier/opt/redis_cluster/redis_6379/conf/6379.conf
Ajouter du contenu important
添加: bind 127.0.0.1 192.168.10.1 port 6379 daemonize yes #开启daemon进程pidfile /opt/redis_cluster/redis_6379/pid/redis_6379.pid logfile /opt/redis_cluster/redis_6379/logs/redis_6379.log databases 16 dbfilename redis.rdb #RDB持久化文件dir /opt/redis_cluster/redis_6379 #RDB存放的位置
6. Démarrez le service Redis actuelredis-server /opt/redis_cluster/redis_6379/conf/6379.conf
[root@redis-master ~]# netstat -anpt |grep 6379tcp 0 0 192.168.10.1:6379 0.0.0.0:* LISTEN 49206/redis-server tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 49206/redis-server tcp 0 0 127.0.0.1:41400 127.0.0.1:6379 TIME_WAIT - tcp 0 0 192.168.10.1:6379 192.168.10.8:46220 ESTABLISHED 49206/redis-server [root@redis-master ~]#
Configuration RDB persistante
Modifier la configuration et ajoutez l'élément de sauvegarde
vim /opt/redis_cluster/redis_6379/conf/6379.conf 添加: save 900 1 #在900秒(15分钟)之后,如果至少有1个key发生变化,则dump内存快照。save 300 10 #在300秒(5分钟)之后,如果至少有10个key发生变化,则dump内存快照。save 60 500 #在60秒(1分钟)之后,如果至少有500个key发生变化,则dump内存快照
Configuration AOF persistante
Identique à la modification du fichier de configuration
Ajoutez une annexe et activez la persistance
vim /opt/redis_cluster/redis_6379/conf/6379.conf 添加: appendonly yes #启用AOF持久化appendfilename "redis.aof" #指定AOF文件名appendfsync everysec #每秒同步一次
Redémarrez Redis pour qu'il prenne effet et vérifiez la persistance
redis-cli shutdownredis-server /opt/redis_cluster/redis_6379/conf/6379.conf
Ajouter des paires clé-valeur dans la base de données redis
#!/bin/bashfor i in {1..500}do redis-cli set k_$i v_$idone
Lorsque la base de données est fermée à ce moment, les éléments en mémoire seront être perdu normalement, mais il ne sera certainement pas perdu maintenant Oui, et il y aura des fichiers persistants
[root@redis-master ~]# redis-cli shutdown[root@redis-master ~]# redis-server /opt/redis_cluster/redis_6379/conf/6379.conf [root@redis-master ~]# [root@redis-master ~]# redis-cli127.0.0.1:6379> keys k_500 1) "v_500"127.0.0.1:6379>
réplication maître-esclave redis
Pourquoi est-ce qu'on besoin de faire une réplication maître-esclave Redis ?
Afin de résoudre le point de défaillance unique, copiez les données sur un ou plusieurs serveurs répliques (serveurs esclaves) pour obtenir une redondance et atteindre l'objectif de récupération des pannes et d'équilibrage de charge
Créez un autre serveur et installez redis
1. Par souci de simplicité, on copie directement le master précédent
[root@redis-master ~]# scp -rp /opt/redis_cluster/ root@192.168.10.8:/opt
2. Installez redis directement make install
sans recompiler, il l'a déjà fait. été fait dans le maître
Modifier le fichier de configuration
cd /opt/redis_cluster/redis vim /opt/redis_cluster/redis_6379/conf/6379.conf 修改: bind 127.0.0.1 192.168.10.8 slaveof 192.168.10.1 6379 #添加master的ip port保存退出
3. Démarrez le service
redis-server /opt/redis_cluster/redis_6379/conf/6379.conf
Créez une nouvelle valeur de clé sur le maître. serveur et tester la synchronisation automatique du serveur esclave
Remarque :
Pendant le processus de synchronisation, le serveur esclave ne peut copier que les données de la base de données maître , et ne peut pas ajouter et modifier manuellement des données ;
Si le serveur esclave doit modifier les données, il faut déconnecter la synchronisation : [root@redis-slave ~]# redis-cli slaveof no one
invite OK
Si le maître est vers le bas, le serveur esclave peut 手动断开同步
en premier. À ce moment, il est un individu indépendant, d'autres serveurs esclaves peuvent terminer le changement en 指向自己
Cet article est reproduit à partir de : https://blog.csdn net/weixin_43815140/article/details/106128848
Pour plus de connaissances connexes, veuillez visiter le Site Web PHP chinois! !
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Le mode Redis Cluster déploie les instances Redis sur plusieurs serveurs grâce à la rupture, à l'amélioration de l'évolutivité et de la disponibilité. Les étapes de construction sont les suivantes: Créez des instances de redis étranges avec différents ports; Créer 3 instances Sentinel, Moniteur Redis Instances et basculement; Configurer les fichiers de configuration Sentinel, ajouter des informations d'instance Redis de surveillance et des paramètres de basculement; Configurer les fichiers de configuration d'instance Redis, activer le mode de cluster et spécifier le chemin du fichier d'informations de cluster; Créer un fichier nœuds.conf, contenant des informations de chaque instance redis; Démarrez le cluster, exécutez la commande CREATE pour créer un cluster et spécifiez le nombre de répliques; Connectez-vous au cluster pour exécuter la commande d'informations de cluster pour vérifier l'état du cluster; faire

Redis utilise des tables de hachage pour stocker les données et prend en charge les structures de données telles que les chaînes, les listes, les tables de hachage, les collections et les collections ordonnées. Redis persiste les données via des instantanés (RDB) et ajoutez les mécanismes d'écriture uniquement (AOF). Redis utilise la réplication maître-esclave pour améliorer la disponibilité des données. Redis utilise une boucle d'événement unique pour gérer les connexions et les commandes pour assurer l'atomicité et la cohérence des données. Redis définit le temps d'expiration de la clé et utilise le mécanisme de suppression paresseux pour supprimer la clé d'expiration.

Étapes pour résoudre le problème que Redis-Server ne peut pas trouver: Vérifiez l'installation pour vous assurer que Redis est installé correctement; Définissez les variables d'environnement redis_host et redis_port; Démarrer le serveur Redis Redis-Server; Vérifiez si le serveur exécute Redis-Cli Ping.

Pour afficher toutes les touches dans Redis, il existe trois façons: utilisez la commande Keys pour retourner toutes les clés qui correspondent au modèle spécifié; Utilisez la commande SCAN pour itérer les touches et renvoyez un ensemble de clés; Utilisez la commande info pour obtenir le nombre total de clés.

La meilleure façon de comprendre le code source redis est d'aller étape par étape: familiarisez-vous avec les bases de Redis. Sélectionnez un module ou une fonction spécifique comme point de départ. Commencez par le point d'entrée du module ou de la fonction et affichez le code ligne par ligne. Affichez le code via la chaîne d'appel de fonction. Familiez les structures de données sous-jacentes utilisées par Redis. Identifiez l'algorithme utilisé par Redis.

L'utilisation de la directive Redis nécessite les étapes suivantes: Ouvrez le client Redis. Entrez la commande (Verbe Key Value). Fournit les paramètres requis (varie de l'instruction à l'instruction). Appuyez sur Entrée pour exécuter la commande. Redis renvoie une réponse indiquant le résultat de l'opération (généralement OK ou -err).

Pour lire une file d'attente à partir de Redis, vous devez obtenir le nom de la file d'attente, lire les éléments à l'aide de la commande LPOP et traiter la file d'attente vide. Les étapes spécifiques sont les suivantes: Obtenez le nom de la file d'attente: Nommez-le avec le préfixe de "Fitre:" tel que "Fitre: My-Quyue". Utilisez la commande LPOP: éjectez l'élément de la tête de la file d'attente et renvoyez sa valeur, telle que la file d'attente LPOP: My-Queue. Traitement des files d'attente vides: si la file d'attente est vide, LPOP renvoie NIL et vous pouvez vérifier si la file d'attente existe avant de lire l'élément.

L'utilisation des opérations Redis pour verrouiller nécessite l'obtention du verrouillage via la commande setnx, puis en utilisant la commande Expire pour définir le temps d'expiration. Les étapes spécifiques sont les suivantes: (1) Utilisez la commande setnx pour essayer de définir une paire de valeurs de clé; (2) Utilisez la commande Expire pour définir le temps d'expiration du verrou; (3) Utilisez la commande del pour supprimer le verrouillage lorsque le verrouillage n'est plus nécessaire.
