Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

por que o uso de memória redis não reduz quando del half of keys


Consulte a seção de alocação de memória no link a seguir:

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

Eu citei aqui:

O Redis nem sempre libera (retorna) memória para o sistema operacional quando as chaves são removidas. Isso não é algo especial no Redis, mas é como a maioria das implementações de malloc() funciona. Por exemplo, se você preencher uma instância com 5 GB de dados e, em seguida, remover o equivalente a 2 GB de dados, o tamanho do conjunto residente (também conhecido como RSS, que é o número de páginas de memória consumidas pelo processo) provavelmente ainda será de cerca de 5 GB, mesmo que o Redis afirme que a memória do usuário é de cerca de 3 GB. Isso acontece porque o alocador subjacente não pode liberar facilmente a memória. Por exemplo, muitas vezes a maioria das chaves removidas foram alocadas nas mesmas páginas que as outras chaves que ainda existem.