A memória é um recurso crítico para o desempenho do Redis. A memória usada define o número total de bytes alocados pelo Redis usando seu alocador (libc padrão, jemalloc ou um alocador alternativo, como tcmalloc).
Você pode coletar todos os dados de métricas de utilização de memória para uma instância do Redis executando “info memory”.
127.0.0.1:6379> info memory Memory used_memory:1007280 used_memory_human:983.67K used_memory_rss:2002944 used_memory_rss_human:1.91M used_memory_peak:1008128 used_memory_peak_human:984.50K
Às vezes, quando o Redis está configurado sem limite máximo de memória, o uso de memória eventualmente atingirá a memória do sistema e o servidor começará a gerar erros de “Memória insuficiente”. Outras vezes, o Redis é configurado com um limite máximo de memória, mas com uma política de despejo. Isso faria com que o servidor não despejasse nenhuma chave, impedindo assim qualquer gravação até que a memória fosse liberada. A solução para esses problemas seria configurar o Redis com memória máxima e alguma política de despejo. Nesse caso, o servidor começa a despejar as chaves usando a política de despejo à medida que o uso de memória atinge o máximo.
Memória RSS (Resident Set Size) é o número de bytes que o sistema operacional alocou para o Redis. Se a proporção de 'memory_rss' para 'memory_used' for maior que ~ 1,5, isso significa fragmentação de memória. A memória fragmentada pode ser recuperada reiniciando o servidor.