sql >> Base de Datos >  >> NoSQL >> Redis

¿Por qué el uso de la memoria Redis no se reduce cuando se elimina la mitad de las claves?

Consulte la sección Asignación de memoria en el siguiente enlace:

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

Lo cité aquí:

Redis no siempre liberará (devolverá) memoria al sistema operativo cuando se eliminen las claves. Esto no es algo especial acerca de Redis, pero así es como funcionan las implementaciones de mostmalloc(). Por ejemplo, si completa una instancia con 5 GB de datos y luego elimina el equivalente a 2 GB de datos, el tamaño del conjunto residente (también conocido como RSS, que es la cantidad de páginas de memoria consumidas por el proceso) probablemente seguirá siendo de alrededor de 5 GB. incluso si Redis afirma que la memoria del usuario es de alrededor de 3 GB. Esto sucede porque el asignador subyacente no puede liberar fácilmente la memoria. Por ejemplo, a menudo, la mayoría de las claves eliminadas se ubicaron en las mismas páginas que las otras claves que aún existen.