Servidor de dicionário remoto, ou redis, para curta, é um banco de dados de memória de raio-de-relâmpago que armazena valores em pares de valor-chave. É usado principalmente como mecanismo de cache para bancos de dados, como SQL e bancos de dados de documentos.
Como Redis é um banco de dados de memória, o espaço usado é crítico e precisa ser fortemente monitorado. Uma estratégia para melhorar e otimizar o desempenho da memória para Redis é usar a compactação.
Por padrão, o Redis não fornece compactação para nenhum dado armazenado. Portanto, as técnicas de compressão são implementadas no aplicativo.
Vamos discutir algumas técnicas que você pode usar para otimizar o desempenho da memória em Redis.
Implementar um algoritmo de compressão
Como Redis não comprime os valores armazenados, você deve fazê -lo antes de armazená -los. Existem vários algoritmos de compressão para compactar strings antes de armazená -los.
Tais algoritmos incluem:
Use nomes de chave mais curtos
Embora os desenvolvedores devam favorecer nomes mais descritivos em vez de curtos, o uso da memória pode disparar rapidamente se você tiver uma extensa coleção de chaves no banco de dados.
Sempre considere usar nomes de chave curtos para seus dados de valor-chave para evitar isso.
Exemplo:
Defina this_is_a_very_large_key_name ValorEm vez disso, você pode usar o nome da chave:
Definir L_KEY_NAME VALORIsso reduz o número de caracteres de Redis para armazenar seu banco de dados.
Compressa nomes de campo
O mesmo caso acima pode ser dito sobre os nomes de campo. E novamente, usando um nome de campo mais curto pode salvar alguns bytes ou kilobytes de sua memória.
Portanto, considere usar nomes de campo curtos para seus dados Redis.
Um exemplo é como mostrado:
127.0.0.1: 6379> hset user_info ID 1 FirstName Moes LastName K Country "Estados Unidos da América"Aqui, podemos salvar alguma memória refatorando os nomes de campo como:
Hset user_info id 1 fname moes lname countryIsso comprime os nomes de campo e os valores.
Use a lista em vez de um hash
Um hash é composto por nomes de campo e valores correspondentes. Embora isso não seja um problema significativo, pode ser problemático quando milhares de tipos de hash entram em jogo.
Para resolver isso, você pode optar por uma lista como mostrado:
Hset user_info id 1 fname moes lname countryVocê pode converter o hash acima em uma lista como:
Lpush ["fname", "moes", "lname", "k", "country", "nós"]Evite scripts dinâmicos da Lua
Para economizar ainda mais memória, evite usar scripts dinâmicos da Lua que fazem com que o cache cresça. Quanto mais scripts você carrega, mais você consome muita memória.
Ativar compressão da lista
Como mencionado, Redis não comprime nenhum valores armazenados nele. Isso inclui elementos dentro de uma lista. Para valores de lista curta, isso dificilmente é um problema. No entanto, em longas listas, pode ser benéfico ativar a compactação.
No Redis.arquivo conf, localize a linha:
sudo gato/etc/redis/redis.conf | Grep List-CompressAltere o valor da profundidade da lista de listas para:
Atualize sua versão Redis
Outra etapa que você pode dar para melhorar o uso da memória em seu servidor Redis é atualizar sua versão Redis.
Até escrever este tutorial, versão 4.0 (mais recente) vem com os seguintes recursos.
Fechamento
Este guia discute vários métodos e técnicas que você pode usar para otimizar o uso da memória em seu cluster Redis. No entanto, lembre -se de que nem todas as formas são 100% garantidas.
Obrigado pela leitura, vejo você no próximo!!