Pour configurer Redis Persistance, vous devez considérer les instantanés RDB (base de données Redis) et AOF (fichier append uniquement). Voici comment configurer chacun:
Instantanés RDB:
Activer RDB: par défaut, RDB est activé. Vous pouvez le configurer dans le fichier redis.conf
. Recherchez les lignes qui commencent par save
pour définir la fréquence des instantanés.
<code>save 900 1 save 300 10 save 60 10000</code>
Ces lignes signifient que Redis enregistrera l'ensemble de données sur le disque si l'une des conditions suivantes est remplie:
Nom et emplacement de fichier: vous pouvez également définir le nom et le chemin du fichier dans redis.conf
:
<code>dbfilename dump.rdb dir /var/lib/redis</code>
Compression: les fichiers RDB peuvent être compressés pour enregistrer l'espace disque. Activer ou désactiver cela dans la configuration:
<code>rdbcompression yes</code>
Aof (Ajouter uniquement le fichier):
Activer AOF: AOF est désactivé par défaut. Pour l'activer, définissez appendonly
sur yes
dans redis.conf
:
<code>appendonly yes</code>
Nom et emplacement de fichier: similaire à RDB, vous pouvez définir le nom et le chemin du fichier:
<code>appendfilename "appendonly.aof" dir /var/lib/redis</code>
AOF REWRITE: Pour contrôler lorsque Redis effectue une réécriture AOF, utilisez auto-aof-rewrite-percentage
et auto-aof-rewrite-min-size
:
<code>auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb</code>
Ces paramètres signifient qu'une réécriture AOF est déclenchée lorsque le fichier AOF actuel est 100% plus grand que la dernière réécriture et d'au moins 64 Mo de taille.
Politique FSYNC: le paramètre appendfsync
contrôle la fréquence à laquelle Redis écrit des données au disque:
<code>appendfsync everysec</code>
Les options incluent always
, everysec
et no
. everysec
est un choix courant, équilibrant les performances et la sécurité des données.
Le choix entre RDB et AOF pour la persistance redis affecte les performances de plusieurs manières:
RDB:
AOF:
Impact des performances: AOF peut être plus à forte intensité de ressources car il enregistre chaque opération d'écriture, ce qui conduit à des E / S plus fréquentes. Cependant, le coup de performance peut être atténué avec la politique fsync
:
always
: Synchronous écrit sur disque pour chaque commande, offrant une durabilité élevée mais impactant de manière significative les performances.everysec
: écrit sur disque chaque seconde, offrant un bon équilibre entre les performances et la sécurité des données.no
: Never FSYNC, en s'appuyant sur le système d'exploitation pour écrire des données sur le disque, ce qui est le moins sûr mais a le moins d'impact sur les performances.Pour optimiser la fréquence et la taille des instantanés RDB dans Redis, considérez les stratégies suivantes:
Optimisation de la fréquence:
Ajustez les intervalles de sauvegarde: modifiez les intervalles save
dans redis.conf
pour équilibrer entre la sécurité des données et les performances. Par exemple, si votre ensemble de données ne change pas fréquemment, vous pouvez réduire la fréquence:
<code>save 3600 1 save 300 100 save 60 10000</code>
INFO
pour surveiller les métriques rdb_last_save_time
et rdb_changes_since_last_save
. Ajustez les intervalles de sauvegarde en fonction de votre charge de travail.Optimisation de la taille:
Compression: permettez à la compression RDB de réduire la taille des instantanés:
<code>rdbcompression yes</code>
SET
au lieu de LIST
pour stocker plusieurs éléments peut parfois entraîner des instantanés plus petits.Conseils supplémentaires:
Pour assurer l'intégrité des données lors de l'utilisation de AOF dans Redis, suivez ces étapes:
1. Choisissez la bonne politique fsync
:
Définissez appendfsync
sur everysec
dans redis.conf
pour un équilibre entre les performances et la sécurité des données:
<code>appendfsync everysec</code>
appendfsync always
, mais soyez conscient de l'impact des performances.2. Réécriture régulière AOF:
Activer les réécritures AOF automatiques pour maintenir la taille du fichier gérable et améliorer l'intégrité des données:
<code>auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb</code>
BGREWRITEAOF
en cas de besoin.3. Vérification de la corruption AOF:
Utilisez l'outil redis-check-aof
pour vérifier l'intégrité du fichier AOF. Si la corruption est détectée, vous pouvez réparer le fichier:
<code>redis-check-aof --fix appendonly.aof</code>
4. Réplication pour la redondance:
Configurez la réplication Redis pour créer plusieurs copies de vos données. Cela garantit l'intégrité des données même si un serveur échoue:
<code>slaveof <masterip> <masterport></masterport></masterip></code>
5. Surveillance et alertes:
6. Stratégie de sauvegarde:
En suivant ces étapes, vous pouvez améliorer considérablement l'intégrité des données de votre configuration Redis lorsque vous utilisez AOF pour la persistance.
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!