Redis
 sql >> Base de données >  >> NoSQL >> Redis

pourquoi l'utilisation de la mémoire redis ne diminue-t-elle pas lorsque la moitié des clés est supprimée

Veuillez vous référer à la section Allocation de mémoire sur le lien suivant :

http://redis.io/topics/memory-optimization

Je l'ai cité ici :

Redis ne libère pas toujours (renvoie) de la mémoire au système d'exploitation lorsque les clés sont supprimées. Ce n'est pas quelque chose de spécial à propos de Redis, mais c'est ainsi que fonctionnent les implémentations de mostmalloc(). Par exemple, si vous remplissez une instance avec 5 Go de données, puis supprimez l'équivalent de 2 Go de données, la taille de l'ensemble résident (également appelée RSS, qui correspond au nombre de pages de mémoire consommées par le processus) sera probablement toujours d'environ 5 Go, même si Redis prétendra que la mémoire utilisateur est d'environ 3 Go. Cela se produit parce que l'allocateur sous-jacent ne peut pas facilement libérer la mémoire. Par exemple, la plupart des clés supprimées ont souvent été attribuées dans les mêmes pages que les autres clés qui existent toujours.