Supondo que você tenha 32 GB de memória alocada para o Redis e outra memória disponível para os recursos do sistema, calcule o número de entradas que pode armazenar. No entanto, tenha em mente que isso é extremamente generalizado, pois sempre há algum tipo de sobrecarga. Independentemente disso, se você olhar para o número puro de entradas de uma perspectiva matemática, poderá armazenar aproximadamente um bilhão de entradas com 32 GB de RAM.
1 GB = 1024MB
1 MB = 1024KB
1 KB = 1024B
1GB = 1,073,741,824B
32GB = 34,359,738,368B
size = 12B + 20B = 32B
number_of_entries = (available_size / size_of_entry)
= (34,359,738,368B / 32B)
= 1,073,741,824
Como eu disse antes, é muito ruim supor que não há nenhum tipo de sobrecarga. Veja abaixo a FAQ de Redis. Sem conhecer mais detalhes do seu ambiente, seria impossível fornecer números mais precisos.
Qual é a pegada de memória do Redis?
Para dar alguns exemplos (todos obtidos usando instâncias de 64 bits): Uma instância vazia usa ~ 1MB de memória. 1 milhão de pequenas chaves - > Pares String Value usam ~ 100MB de memória. 1 milhão de chaves - > O valor de hash, representando um objeto com 5 campos, usa ~ 200 MB de memória. Para testar seu caso de uso, é trivial usar o utilitário redis-benchmark para gerar conjuntos de dados aleatórios e verificar com o comando INFO memory o espaço utilizado. Os sistemas de 64 bits usarão consideravelmente mais memória do que os sistemas de 32 bits para armazenar as mesmas chaves, especialmente se as chaves e valores forem pequenos, porque os ponteiros levam 8 bytes em sistemas de 64 bits. Mas é claro que a vantagem é que você pode ter muita memória em sistemas de 64 bits, portanto, para executar grandes servidores Redis, um sistema de 64 bits é mais ou menos necessário. A alternativa é sharding.