Nesta página, descrevemos as políticas de maxmemory e as outras configurações do Redis disponíveis para o Memorystore para Redis. Não é preciso reiniciar a instância do Redis se você ajustar uma configuração.
Para instruções sobre como modificar as configurações listadas abaixo, consulte Como configurar instâncias do Redis.
Políticas do Maxmemory
Quando a memória da instância do Redis está cheia e uma nova gravação chega, o Redis remove as chaves para liberar espaço para a gravação com base na política do Maxmemory da instância. A política Maxmemory padrão do Memorystore para Redis é volatile-lru
. Você também pode usar uma das seguintes políticas Maxmemory:
noeviction
: retorna um erro quando a instância do Redis atinge o máximo de memória. Não substitui nem remove dados.allkeys-lfu
: disponível no Redis versão 4.0 ou posterior. Remove as chaves menos usadas (LFU, na sigla em inglês) de todo o conjunto de chaves.allkeys-lru
: remove as chaves usadas menos recentemente (LRU, na sigla em inglês) de todo o conjunto de chaves.volatile-lfu
: disponível no Redis versão 4.0 ou posterior. Remove as chaves usadas com menos frequência, que são configuradas com expiração TTL (time to live).volatile-lru
: exclui as chaves menos recentes (LRU, na sigla em inglês) definidas com as expirações de TTL.allkeys-random
: remove chaves aleatórias de todo o keyspace.volatile-random
: remove chaves aleatórias entre aquelas definidas com expirações de TTL.volatile-ttl
: remove as chaves com o TTL mais curto entre as definidas com a expiração de TTL.
Parâmetros de configuração modificáveis
É possível modificar os seguintes parâmetros ao criar ou atualizar uma instância do Memorystore para Redis.
Parâmetro | Descrição | Valores aceitáveis |
---|---|---|
activedefrag | Redis versão 4.0 ou posterior. Funciona para liberar a memória de instância vinculada pelo comportamento de fragmentação de memória do OSS Redis padrão. | no (padrão)yes |
bancos de dados | Redis versão 3.2 ou mais recente. Especifica o número de bancos de dados no servidor Redis. | 1-100 O padrão é 16 |
lazyfree-lazy-eviction | Redis versão 7.0 ou posterior. Ativa/desativa o lazy free para a exclusão. no desativa essa configuração. Para mais informações, consulte REDIS.CONF. |
no (padrão)yes |
lazyfree-lazy-expire | Redis versão 7.0 ou mais recente. Ativa/desativa o carregamento lento para expirar. no desativa essa configuração. Para mais informações, consulte REDIS.CONF. |
no (padrão)yes |
lazyfree-lazy-user-del | Redis versão 7.0 ou mais recente. Ativa/desativa a liberação lenta para o DEL do usuário. no desativa essa configuração. Para mais informações, consulte REDIS.CONF. |
no (padrão)yes |
lazyfree-lazy-user-flush | Redis versão 7.0 ou posterior. Ativa/desativa a liberação gratuita para o usuário. no desativa essa configuração. Para mais informações, consulte REDIS.CONF. |
no (padrão)yes |
lfu-decay-time | Redis versão 4.0 ou posterior. O tempo, em minutos, antes de o contador de frequência LFU de uma determinada chave ser dividido por dois (ou, se o contador for < 10, diminuído em 1). Consulte o arquivo REDIS.CONF para mais informações. | Inteiros positivos do tipo de dados "longo" (padrão=1) |
lfu-log-factor | Redis versão 4.0 ou posterior. Determina como o contador de frequência representa os hits principais. Antes de modificar a configuração padrão, leia sobre como a configuração lfu-log-factor funciona no arquivo REDIS.CONF. |
Inteiros positivos do tipo de dados "longo" (padrão=10) |
maxmemory-clients | Redis 7.0 ou mais recente. Essa configuração permite que os usuários
controlem o uso máximo de memória dos clientes. Uso total de memória de clientes normais/pubsub. Se o limite for atingido, o cliente com maior uso de memória será removido |
O padrão é 0% (sem limite). Os valores aceitáveis são valores de porcentagem
inteiros entre 0% e 100% . Representa a porcentagem
de maxmemory da instância a que o armazenamento do cliente é limitado. |
maxmemory-gb | Designa um limite ajustável em que sua política de remoção entra em vigor.
Por exemplo, se você tiver uma instância de 10 GB e definir maxmemory-gb como 8 , a política de remoção terá efeito quando seus dados ocuparem 8 GB de memória da instância. Isso faz com que haja 2 GB de memória como sobrecarga. Por padrão, maxmemory-gb é definido como a capacidade da instância. Para mais detalhes sobre como usar melhor a configuração maxmemory-gb , consulte as práticas recomendadas de gerenciamento de memória do Memorystore.Essa configuração é exibida como maxmemory-percent no
console do Google Cloud. Ao usar o console, você define maxmemory-percent
como porcentagem da capacidade da sua instância em vez de um número específico de GBs.
|
Número de GB expresso como um número inteiro ou decimal. Exemplos: 10 designa um maxmemory-gb de 10 GB.1.5 designa um maxmemory-gb de 1,5 GB.maxmemory-gb pode ser reduzido para um mínimo de 20% da capacidade da sua instância.
|
maxmemory-policy | Especifica o comportamento que o Redis segue quando os dados da instância atingem o limite de maxmemory-gb . Consulte as políticas do Maxmemory para ver uma descrição do comportamento de cada política.Para mais informações sobre as políticas do Maxmemory do Redis de código aberto, consulte a página de cache do LRU (em inglês) do Redis de código aberto |
noeviction allkeys-lru volatile-lru (padrão) allkeys-random volatile-random volatile-ttl volatile-lfu (Redis versões 4.0 e posterior) allkeys-lfu (Redis versões 4.0 e posterior)
|
notify-keyspace-events | Permite que os clientes se inscrevam em notificações de determinados eventos de espaço. Consulte a página Notificações do Redis Keyspace (em inglês) no site do Redis para mais informações. | "" (padrão)K Eventos do keyspace, publicados com o prefixo __keyspace@ E Eventos de keyevent, publicados com o prefixo __keyevent@ g Comandos genéricos (não específicos por tipo), como DEL, EXPIRE ou RENAME $ Comandos de strings l Comandos de listas s Comandos de conjunto h Comandos de Hash z Comandos de conjuntos classificados /} x Eventos expirados (eventos gerados sempre que uma chave expira) e Eventos removidos (eventos gerados quando uma chave é removida para o Maxmemory) A Alias de g$lshzxe para que a string "AKE" signifique todos os eventos. |
stream-node-max-bytes |
Redis versão 5.0 ou posterior. A estrutura de dados de stream do Redis usa uma árvore de radix para armazenar itens. O parâmetro stream-node-max-bytes designa o número máximo de bytes disponíveis para armazenar itens em um único nó da árvore. Quando esse limite for alcançado, novos itens serão armazenados em um novo nó de árvore. |
Os números inteiros 0 e superiores. (padrão=4096) 0 designam um nó da árvore de tamanho ilimitado. |
stream-node-max-entries |
Redis versão 5.0 ou posterior. A estrutura de dados de stream do Redis usa uma árvore de radix para armazenar itens. O parâmetro stream-node-max-entries designa o número de itens que podem ser armazenados em um único nó. Quando esse limite for alcançado, novos itens serão armazenados em um novo nó de árvore. |
Inteiros 0 e posteriores. (padrão=100) 0 designa um nó da árvore com um número ilimitado de itens. |
timeout |
O número de segundos antes do encerramento das conexões de cliente inativas. Entretanto, se timeout for definido como 0 , os clientes inativos não vão atingir o tempo limite e permanecerão conectados até que o cliente emita o encerramento.
|
0 (padrão) Números inteiros >= 120 Unidade = segundos |
Parâmetros de configuração não modificáveis
A tabela a seguir lista os parâmetros de configuração do Redis que não podem ser modificados no Memorystore para Redis e os valores padrão. Consulte a documentação de configuração do Redis para informações detalhadas sobre esses parâmetros de configuração.
Parâmetro | Valor padrão |
---|---|
lua-time-limit |
5000 |
hash-max-ziplist-entries |
2048 |
hash-max-ziplist-value |
1024 |
list-max-ziplist-size |
-2 |
list-compress-depth . |
0 |
set-max-intset-entries |
512 |
zset-max-ziplist-entries |
1024 |
zset-max-ziplist-value |
1024 |
hll-sparse-max-byte |
3000 |
activerehashing |
yes |
hz |
10 |
databases |
16 |
maxclients |
65000 |
slowlog-log-slower-than |
10000 |
slowlog-max-len |
128 |
repl-diskless-load |
swapdb |
io-threads-do-reads |
sim |
A seguir
- Saiba mais sobre as configurações do Redis na página de configuração do Redis de código aberto.