Comment utiliser les scripts Redis et Shell pour développer des fonctions de sauvegarde et de récupération
Présentation :
La sauvegarde et la récupération des données sont un maillon important dans le développement de logiciels. Grâce à la sauvegarde, la sécurité des données peut être assurée et les données peuvent être rapidement restaurées en cas de problème. Redis est une base de données en mémoire hautes performances qui fournit de riches fonctions de sauvegarde et de récupération. Cet article explique comment utiliser les scripts Redis et Shell pour développer des fonctions de sauvegarde et de récupération, vous permettant ainsi de mieux protéger les données pendant le développement.
1. Fonction de sauvegarde Redis
Redis propose deux méthodes de sauvegarde : la persistance RDB et la persistance AOF.
1) Configurez les paramètres de persistance RDB :
Dans le fichier de configuration redis.conf, recherchez les éléments de configuration suivants :
save 900 1
save 300 10
save 60 10000
Ces éléments de configuration Cela signifie que toutes les 900 secondes, toutes les 300 secondes et toutes les 60 secondes, si au moins une clé est modifiée, un instantané sera conservé.
2) Effectuer manuellement la persistance des instantanés :
Vous pouvez créer des instantanés manuellement en utilisant la commande SAVE ou BGSAVE. La commande SAVE bloquera le serveur Redis et écrira les données sur le disque, pendant lequel les autres requêtes ne pourront pas être traitées, tandis que la commande BGSAVE enregistrera les données en arrière-plan et ne bloquera pas le serveur Redis.
1) Configurer les paramètres de persistance AOF :
Dans le fichier de configuration redis.conf, recherchez l'élément de configuration suivant :
appendonly yes
Cet élément de configuration signifie activer la persistance AOF. mécanisme.
2) Effectuer manuellement la persistance AOF :
Vous pouvez utiliser la commande BGREWRITEAOF pour effectuer manuellement la réécriture AOF et compresser et organiser les fichiers journaux.
2. Script Shell pour sauvegarder les données
Redis fournit un mécanisme de sauvegarde, mais vous devez enregistrer davantage les fichiers sauvegardés à d'autres endroits pour éviter des problèmes avec le serveur Redis lui-même. À l'heure actuelle, vous pouvez utiliser un script Shell pour sauvegarder les données Redis.
Par exemple, nous pouvons écrire un script backup_redis.sh pour sauvegarder les données Redis. Le code est le suivant :
#!/bin/bash # 备份目录 backup_dir="/path/to/backup" # 当前时间,作为备份文件名的一部分 current_time=$(date +"%Y-%m-%d-%T") # 导出RDB快照 redis-cli SAVE # 备份RDB快照文件 cp /var/lib/redis/dump.rdb "$backup_dir/redis_backup_$current_time.rdb"
Le script ci-dessus créera un fichier de sauvegarde nommé d'après l'heure actuelle dans le chemin spécifié. redis_backup_year-month-day -hour:minute:second.rdb. En exécutant ce script régulièrement, les données Redis peuvent être automatiquement sauvegardées.
3. Utilisez le script Shell pour restaurer les données
Après avoir sauvegardé les données, vous devez également vous assurer que les données peuvent être restaurées. Vous pouvez utiliser des scripts Shell pour restaurer des données.
Par exemple, nous pouvons écrire un script restaurer_redis.sh pour restaurer les données Redis. Le code est le suivant :
#!/bin/bash # 备份文件 backup_file="/path/to/backup/redis_backup_2022-07-01-10:30:00.rdb" # 恢复RDB快照 cp "$backup_file" /var/lib/redis/dump.rdb # 重启Redis服务器 systemctl restart redis
Le script ci-dessus copie le fichier de sauvegarde spécifié dans le répertoire de données Redis et redémarre le serveur Redis pour restaurer les données.
Résumé :
Grâce aux étapes ci-dessus, vous pouvez utiliser des scripts Redis et Shell pour implémenter des fonctions de sauvegarde et de récupération de données. En exécutant régulièrement des scripts de sauvegarde, les données Redis peuvent être sauvegardées régulièrement ; en exécutant des scripts de récupération, les données peuvent être rapidement restaurées. De cette façon, même en cas de problème avec le serveur Redis, les données peuvent être rapidement restaurées pour garantir la sécurité des données.
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!