Maison  >  Article  >  base de données  >  Une brève discussion sur la façon de gérer l'expiration du cache et la mémoire occupée par le cache dans Redis ?

Une brève discussion sur la façon de gérer l'expiration du cache et la mémoire occupée par le cache dans Redis ?

青灯夜游
青灯夜游avant
2021-11-26 19:32:232005parcourir

Une brève discussion sur la façon de gérer l'expiration du cache et la mémoire occupée par le cache dans Redis ? L'article suivant vous présentera la stratégie de traitement de l'expiration du cache et le mécanisme d'élimination de la mémoire dans Redis. J'espère qu'il vous sera utile !

Une brève discussion sur la façon de gérer l'expiration du cache et la mémoire occupée par le cache dans Redis ?

Comment gérer les clés expirées ?

Le cache de clés expiré a expiré, mais la mémoire du serveur sera toujours occupée. Cela est dû aux deux stratégies de suppression sur lesquelles redis est basé
redis a deux stratégies :

  • suppression planifiée (active).

    Vérifiez régulièrement et de manière aléatoire les clés expirées, nettoyez-les et supprimez-les si elles expirent. (Le nombre de vérifications par seconde est configuré en Hz dans redis.conf)
  • Suppression paresseuse (passive)
  • Lorsque le client demande une clé expirée, redis vérifiera si la clé a expiré. , supprimez-le, puis renvoyez nil. Cette stratégie est plus conviviale pour le processeur et n'entraînera pas trop de pertes, mais l'utilisation de la mémoire sera relativement élevée.
  • Ainsi, même si la clé a expiré, tant qu'elle n'est pas effacée par Redis, la mémoire sera toujours occupée. [Recommandations associées :
Tutoriel vidéo Redis

]

Alors, que dois-je faire si la mémoire est occupée par le cache Redis et est lente ?

Si la mémoire est pleine, vous pouvez utiliser le disque dur pour la sauvegarder, mais cela n'a aucun sens car le disque dur n'est pas aussi rapide que la mémoire et affectera les performances de Redis.

Ainsi, lorsque la mémoire est pleine, redis fournit un mécanisme d'élimination du cache : GESTION DE LA MÉMOIRE


 : Lorsque le taux d'utilisation de la mémoire est atteint, le cache sera nettoyé

* noeviction:旧缓存永不过期,新缓存设置不了,返回错误
* allkeys-lru:清除最少用的旧缓存,然后保存新的缓存(推荐使用)
* allkeys-random:在所有的缓存中随机删除(不推荐)
* volatile-lru:在那些设置了expire过期时间的缓存中,清除最少用的旧缓存,然后保存新的缓存
* volatile-random:在那些设置了expire过期时间的缓存中,随机删除缓存
* volatile-ttl:在那些设置了expire过期时间的缓存中,删除即将过期的`
maxmemoryPour plus de connaissances sur la programmation, veuillez visiter :

Programmation Pour commencer

! !

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer