Mécanisme d'élimination de Redis

Nous savons tous que le délai d'expiration peut être défini lorsque redis met en cache, alors comment redis reconnaît-il que cette clé a expiré et efface la clé?

Lorsque la mémoire de redis est pleine, pourquoi puis-je continuer à écrire le cache? Et certaines clés seront effacées, quelle est la raison?

Les problèmes ci-dessus impliquent la stratégie d'expiration et le mécanisme d'élimination de redis, nous pouvons y jeter un œil.

Pourquoi redis devrait-il avoir un mécanisme d'élimination?

  L'existence du mécanisme d'élimination de redis est de mieux utiliser la mémoire, et d'utiliser une certaine perte de cache en échange de l'efficacité de la mémoire.

Stratégie d'expiration de Redis

  Redis a deux stratégies d'expiration, la suppression régulière et la suppression paresseuse

    • Suppression périodique : Redis extrait au hasard certaines clés avec un délai d'expiration toutes les 100 ms, vérifie si elles ont expiré et les supprime si elles expirent.
    • Suppression différée: lors de l'obtention d'une clé, redis la vérifie. Si la clé a un délai d'expiration, il détermine si le délai d'expiration a expiré. S'il expire, il est supprimé directement et rien n'est renvoyé.

Mécanisme d'élimination de la mémoire Redis

  Lorsque la mémoire redis est presque épuisée, redis démarre le mécanisme d'élimination de la mémoire et efface certaines touches pour libérer de la mémoire.

  Redis propose 6 stratégies d'élimination des données, qui peuvent être configurées dans redis.conf : maxmemory-policy noeviction

  • noeviction : interdire l'expulsion des données. La configuration par défaut est la suivante. Lorsque l'utilisation de la mémoire atteint le seuil, toutes les commandes qui provoquent l'application de mémoire signalent une erreur.
  • volatile-lru : sélectionnez les données les moins récemment utilisées dans l'ensemble de données avec le délai d'expiration défini pour être éliminé.
  • volatile-ttl : sélectionnez les données qui sont sur le point d'expirer de l'ensemble de données avec le délai d'expiration défini pour être éliminé.
  • volatile-random : sélectionner arbitrairement l'élimination des données de l'ensemble de données avec le temps d'expiration défini.
  • allkeys-lru : sélectionnez les données les moins récemment utilisées dans l'ensemble de données et supprimez-les.
  • allkeys-random : sélectionne arbitrairement l'élimination des données de l'ensemble de données.

  Lorsque Redis décide d'expulser une paire clé-valeur, il supprimera ces données et synchronisera ce message de changement de données avec le local et l'esclave.

La référence ci-dessus provient de https://www.cnblogs.com/wjh123/p/11254858.html , http://mini.eastday.com/mobile/180918003550027.html#

Je suppose que tu aimes

Origine www.cnblogs.com/smallzhen/p/12728455.html
conseillé
Classement