Analyse de la stratégie de suppression de clé expirée Redis

  • Comment Redis élimine les clés expirées: définir le nom Daniel 3600

    • Suppression paresseuse:

      • Concept: lorsque certains clients essaient d'y accéder, la clé sera découverte et expirée activement

      • Laissez la clé expirer malgré tout, mais chaque fois que vous obtenez une clé de l'espace clé, vérifiez si la clé obtenue a expiré, si elle expire, supprimez la clé

      • Fonctionnalités: compatible avec le processeur , mais si une clé n'est plus utilisée, elle existera toujours dans la mémoire, causant du gaspillage

         

    • Suppression programmée:

      • Concept: Lors du réglage de l'heure d'expiration de la clé, créez une minuterie (minuterie), laissez la minuterie exécuter l'opération de suppression de la clé immédiatement lorsque l'heure d'expiration de la clé arrive.

         

    • Supprimer régulièrement:

      • Après un certain temps, le programme vérifiera la base de données et supprimera les clés expirées. Quant au nombre de clés expirées à supprimer,

        Et le nombre de bases de données à vérifier est déterminé par l'algorithme. Cela consiste à configurer une tâche chronométrée, telle que la suppression des clés expirées toutes les 10 minutes; de petits intervalles occuperont le processeur et de grands intervalles gaspilleront de la mémoire

      • Par exemple, Redis traite toutes les secondes:

      1. Testez 20 clés aléatoires pour la détection d'expiration associée.

      2. Supprimez toutes les clés expirées.

      3. Si plus de 25% des clés expirent, répétez l'étape 1.

     

Le serveur Redis utilise en fait deux stratégies de suppression paresseuse et de suppression périodique: en utilisant ces deux stratégies de suppression ensemble, le serveur peut atteindre un bon équilibre entre une utilisation rationnelle du temps CPU et éviter de gaspiller de l'espace mémoire.

 

Comment la stratégie de suppression paresseuse est-elle mise en œuvre? Grâce à la fonction expireIfNeeded, nous jugeons si la clé expire lorsque nous manipulons la clé

Comment la stratégie de suppression régulière est-elle mise en œuvre? Par le biais de la fonction activeExpireCycle, lorsque la fonction serverCron est exécutée, la fonction activeExpireCycle sera appelée. Le dictionnaire expirant du serveur est parcouru plusieurs fois dans le délai spécifié pour vérifier aléatoirement l'heure d'expiration d'une partie de la clé et supprimer la clé expirée

Je suppose que tu aimes

Origine blog.csdn.net/qq_41023026/article/details/89739343
conseillé
Classement