Maison > Article > base de données > Version complète de persistance Redis
Introduction à la persistance
RDB
AOF
La différence entre RDB et AOF
Scénarios d'application de persistance
Pour la fonction de persistance, c'est en fait très simple et pas si compliqué
centos7.0
redis4.0
répertoire de stockage redis : /usr/local/ redis
répertoire de stockage redis.conf : /usr/local/redis/data
Toutes les données de Redis sont stockées en mémoire. Si Redis plante, les données seront perdues. La persistance Redis consiste à enregistrer les données sur le disque. Le mécanisme de travail qui utilise un support de stockage permanent pour sauvegarder les processus de données et restaurer les données enregistrées à un moment précis est appelé persistance.
Qu'est-ce qui est enregistré dans le processus de persistance ?
Le premier formulaire d'instantané stocke les résultats des données et se concentre sur les données, qui est le RDB
Le deuxième type de processus d'exploitation, le processus d'opération de stockage, se concentre sur le processus d'exploitation des données, qui est l'AOF
Maintenant, nous définissons une valeur, puis nous l'enregistrons, dans /usr/local/ redis/data Il y aura un fichier dump6379.rdb
Lorsque bgsave est exécuté dans Redis Renvoie directement une sauvegarde en arrière-plan démarrée
À ce stade, nous examinons le fichier journal. La commande bgsave est optimisée pour le problème de blocage de la sauvegarde
<.>
以下配置是默认配置 save 900 1 save 300 10 save 60 10000 stop-writes-on-bgsave-error yes
enregistrer [Temps] [Quantité de changement de clé]
En d'autres termes, si 10 valeurs clés changent en 300 secondes, bgsave sera exécuté en arrière-plan
.
Les fichiers AOF stockent le processus d'exécution des opérations de commande, et la récupération des données est également restaurée à l'aide du processus d'opération.
Exécuter une commande redis
l'AOF de redis actualisera le tampon de commande
Synchronisez-le ensuite avec le fichier .aof configuré dans redis.conf selon une certaine méthode
appendonly yes|no
appendfsync always| everysec | no
Ensuite, redémarrez le service Redis et vous pourrez voir le fichier appendonly.aof dans le répertoire usr/local/redis/data
Ensuite, nous exécutons une commande sur le client Redis et la vérifions. Vous pouvez voir que les données seront stockées dans le fichier appendonly.aof.
Regardons d'abord un cas. Après avoir défini à plusieurs reprises la clé de nom, nous avons ouvert le fichier appendonly.aof pour le visualiser. Nous pouvons voir qu'il y a trois opérations, mais ces trois opérations sont toutes modifiées par une seule clé ! Ne pouvons-nous pas sauvegarder uniquement la dernière clé ? Avec cette question, nous continuons à regarder vers le bas
Par exemple, ci-dessus, nous avons exécuté la commande set name trois fois, mais au final nous n'avons besoin que de l'enregistrement de la dernière exécution. Autrement dit, nous n'avons besoin que du dernier enregistrement d'exécution. D'autres enregistrements ne sont pas nécessaires et les données compressées seront réécrites dans le fichier aof.
Notre utilisation du disque s'est améliorée après la réécriture
De plus, la vitesse de récupération des données sera plus rapide
Dans le même temps, l'efficacité de la persistance sera également améliorée
hdel,srem
. Il y a aussi le problème mentionné en 3-5. Les opérations continues sur une clé lpush list a lpush lsit b lpush list c
peut être converti en lpush list a b c
. Commande : bgrewriteaof
Suite à nos questions 3 à 5, nous exécutons la commande bgrewriteaof sur la ligne de commande puis visualisons le fichier appendonly.aof
Lorsque le l'exécution est terminée Vous constaterez que le fichier est devenu plus petit et qu'il n'y a qu'une seule instruction dans le fichier
Configuration :auto-aof-rewrite-percentage 100 | auto-aof-rewrite-min-size 64mb
Paramètres de comparaison du déclencheur : aof_current_size | aof_base_size
Quand aof_current_size > auto-aof-rewrite-min-size 64 Mo commencera à réécrire
Cette image provient d'Internet
Ce qui précède concerne la persistance de Redis.
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!