Memcached ne surveille pas en interne si l'enregistrement a expiré, mais vérifie l'horodatage de l'enregistrement lors de son obtention pour vérifier si l'enregistrement a expiré. Cette technique est appelée expiration paresseuse. Par conséquent, memcached ne consomme pas de temps CPU lors de la surveillance de l'expiration.
flush_all ne fait qu'une chose : marque toutes les valeurs clés comme expirées, mais ne récupère pas la mémoire. Parce qu’il n’était pas nécessaire de reconquérir la mémoire à cette époque. Ce n'est que lorsque l'utilisateur accèdera à la même valeur de clé la prochaine fois que memcached vérifie la valeur de clé. À ce moment, il s'avère que la valeur de clé a expiré et la mémoire correspondant à la valeur de clé est recyclée. Le but est d’économiser au maximum le temps CPU.
Vous pouvez consulter cet article :
Expiration paresseuse
Memcached ne surveille pas en interne si l'enregistrement a expiré, mais vérifie l'horodatage de l'enregistrement lors de son obtention pour vérifier si l'enregistrement a expiré. Cette technique est appelée expiration paresseuse. Par conséquent, memcached ne consomme pas de temps CPU lors de la surveillance de l'expiration.
flush_all ne fait qu'une chose : marque toutes les valeurs clés comme expirées, mais ne récupère pas la mémoire. Parce qu’il n’était pas nécessaire de reconquérir la mémoire à cette époque. Ce n'est que lorsque l'utilisateur accèdera à la même valeur de clé la prochaine fois que memcached vérifie la valeur de clé. À ce moment, il s'avère que la valeur de clé a expiré et la mémoire correspondant à la valeur de clé est recyclée. Le but est d’économiser au maximum le temps CPU.