Configurações do Redis compatíveis

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
Lazyfree-Lazy-reviction (em inglês) Redis versão 7.0 ou mais recente. Ativa/desativa a liberação lenta para remoção. no desativa essa configuração. Para saber mais, consulte REDIS.CONF. no (padrão)
yes
Lazyfree-Lazy-expire (em inglês) Redis versão 7.0 ou mais recente. Ativa/desativa a liberação lenta para expirar. no desativa essa configuração. Para saber mais, consulte REDIS.CONF. no (padrão)
yes
lazyfree-lazy-user-del Redis versão 7.0 ou mais recente. Ativa/desativa a leitura lenta para o usuário DEL. no desativa esta configuração. Para saber mais, consulte REDIS.CONF. no (padrão)
yes
lazyfree-lazy-user-flush Redis versão 7.0 ou mais recente. Ativa/desativa a liberação lenta para a liberação de usuário. no desativa essa configuração. Para saber mais, 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 de memória total de clientes normal/pubsub. Se o limite for atingido, o cliente com mais uso de memória será removido
O padrão é 0% (sem limite). Os valores aceitáveis são valores percentuais inteiros entre 0% e 100%. Representa a porcentagem de memória máxima da instância à qual 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 (versão 4.0 e mais recentes do Redis)
allkeys-lfu (versão 4.0 e mais recentes do Redis)
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 sim
hz 10
databases 16
maxclients 65000
slowlog-log-slower-than 10000
slowlog-max-len 128
repl-diskless-load banco de dados de troca
io-threads-do-reads sim

A seguir