Il existe trois stratégies de suppression couramment utilisées dans Redis :
1. Suppression passive (suppression paresseuse) : lorsqu'un élément en lecture/écriture a été supprimé. expiré Lorsqu'une clé est trouvée, la stratégie de suppression paresseuse sera déclenchée et la clé sera supprimée directement
2 Suppression active (suppression régulière) : Redis effectuera des inspections régulières pour nettoyer les clés expirées
3. Lorsque la mémoire atteint la configuration maxmemory, l'opération de suppression de clé sera déclenchée
Suppression active
Dans Redis, opérations régulières ; sont implémentés par redis.c/serverCron , il effectue principalement les opérations suivantes :
1. Mettre à jour diverses informations statistiques du serveur, telles que l'heure, l'utilisation de la mémoire, l'utilisation de la base de données, etc.
2. Nettoyez les paires clé-valeur expirées dans la base de données.
3. Redimensionnez les bases de données déraisonnables.
4. Fermez et nettoyez les clients dont les connexions ont échoué.
5. Essayez d'effectuer une opération de persistance AOF ou RDB.
6. Si le serveur est le nœud maître, effectuez une synchronisation régulière des nœuds esclaves.
Si vous êtes en mode cluster, effectuez régulièrement des tests de synchronisation et de connexion sur le cluster.
Redis exécute serverCron comme un événement temporel pour garantir qu'il s'exécute automatiquement de temps en temps. Et comme serverCron doit s'exécuter régulièrement pendant que le serveur Redis est en cours d'exécution, il s'agit d'un événement temporel cyclique : serverCron Ce sera le cas. exécuté périodiquement jusqu'à l'arrêt du serveur.
Résumé
Si un grand nombre de clés expirent dans Redis chaque jour (par exemple, des dizaines de millions), alors le nettoyage des clés expirées doit être considéré :
Augmenter la fréquence de nettoyage actif Redis (en augmentant le paramètre hz)
Nettoyer manuellement les clés expirées Le moyen le plus simple est d'effectuer une opération d'analyse. L'opération d'analyse déclenchera le. première suppression passive. N'oubliez pas de faire l'opération d'analyse. Add count
Le nombre de clés renvoyées par la commande dbsize, y compris les clés expirées
Clés renvoyées par la commande randomkey, à l'exclusion. Clés expirées
Clés renvoyées par la commande scan, y compris les clés expirées Le nombre de clés correspondant au # Keyspace
db6:keys=1034937352, expires=994731489,avg_ttl=507838502
les clés renvoyées par la commande Key
info sont égales à dbsize
expires fait référence au nombre de clés avec un délai d'expiration défini
avg_ttl fait référence au délai d'expiration moyen ( unité : millisecondes) de clé avec délai d'expiration défini
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!