Configurações do Redis suportadas

Esta página descreve as políticas maxmemory e outras configurações do Redis disponíveis para o Memorystore for Redis. Não precisa de reiniciar a instância do Redis se ajustar uma configuração.

Para ver instruções sobre como modificar as configurações indicadas abaixo, consulte o artigo Configurar instâncias do Redis.

Políticas maxmemory

Quando a memória da instância do Redis está cheia e chega uma nova gravação, o Redis remove chaves para criar espaço para a gravação com base na política maxmemory da sua instância. A política maxmemory predefinida para o Memorystore for Redis é volatile-lru. Também pode usar uma das seguintes políticas maxmemory:

  • noeviction: devolve um erro quando a instância do Redis atinge o valor maxmemory. Não substitui nem remove dados.
  • allkeys-lfu: disponível na versão 4.0 ou posterior do Redis. Remove as chaves usadas com menos frequência (LFU) de todo o conjunto de chaves.
  • allkeys-lru: remove as chaves usadas menos recentemente (LRU) do conjunto de chaves completo.
  • volatile-lfu: disponível na versão 4.0 ou posterior do Redis. Remove as chaves usadas com menos frequência que estão definidas com expirações de TTL (tempo de vida).
  • volatile-lru: Remove as chaves usadas menos recentemente (LRU) que são definidas com expirações de tempo de vida (TTL).
  • allkeys-random: remove chaves aleatórias de todo o espaço de chaves.
  • volatile-random: remove chaves aleatórias entre as definidas com expirações de TTL.
  • volatile-ttl: Remove as chaves com o TTL mais curto entre as que têm expirações de TTL.

Parâmetros de configuração modificáveis

Pode modificar os seguintes parâmetros quando criar ou atualizar uma instância do Memorystore for Redis.


Parâmetro Descrição Valores aceitáveis
activedefrag Versão 4.0 ou posterior do Redis. Funciona para libertar a memória da instância ocupada pelo comportamento de fragmentação da memória do Redis OSS padrão. no (predefinição)
yes
bases de dados Versão 3.2 ou posterior do Redis. Especifica o número de bases de dados no servidor Redis. 1-100
A predefinição é 16
lazyfree-lazy-eviction Versão 7.0 ou posterior do Redis. Ativa/desativa a libertação em diferido para despejo. no desativa esta configuração. Para mais informações, consulte REDIS.CONF no (predefinição)
yes
lazyfree-lazy-expire Versão 7.0 ou posterior do Redis. Ativa/desativa a libertação em diferido para a expiração. no desativa esta configuração. Para mais informações, consulte REDIS.CONF no (predefinição)
yes
lazyfree-lazy-user-del Versão 7.0 ou posterior do Redis. Ativa/desativa a libertação lenta para o utilizador DEL. no desativa esta configuração. Para mais informações, consulte REDIS.CONF no (predefinição)
yes
lazyfree-lazy-user-flush Versão 7.0 ou posterior do Redis. Ativa/desativa a libertação lenta para o utilizador. no desativa esta configuração. Para mais informações, consulte REDIS.CONF no (predefinição)
yes
lfu-decay-time Versão 4.0 ou posterior do Redis. 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 ficheiro REDIS.CONF para ver informações adicionais. Números inteiros positivos do tipo de dados "long"
(predefinição=1)
lfu-log-factor Versão 4.0 ou posterior do Redis. Determina como o contador de frequência representa os acessos principais. Antes de modificar a configuração predefinida, leia sobre como a configuração lfu-log-factor funciona no ficheiro REDIS.CONF. Números inteiros positivos do tipo de dados "long"
(predefinição=10)
maxmemory-clients Redis 7.0 ou posterior. Esta configuração permite que os utilizadores controlem a utilização máxima de memória dos clientes.

Utilização total de memória dos clientes normais/pubsub. Se o limite for atingido, o cliente com a maior utilização de memória é removido
A predefinição é 0% (sem limite). Os valores aceitáveis são valores percentuais inteiros entre 0% e 100%. Representa a percentagem da memória máxima da instância à qual o armazenamento do cliente está limitado.
maxmemory-gb Designa um limite ajustável a partir do qual a sua política de despejo entra em vigor. Por exemplo, se tiver uma instância de 10 GB e definir maxmemory-gb como 8, a política de despejo entra em vigor quando os seus dados ocuparem 8 GB da memória da instância. Isto deixa-lhe 2 GB de memória como sobrecarga. Por predefinição, o maxmemory-gb está definido para a capacidade da sua instância. Para ver detalhes sobre a melhor forma de usar a configuração maxmemory-gb, consulte as práticas recomendadas de gestão de memória do Memorystore .

Esta configuração é apresentada como maxmemory-percent na Google Cloud consola. Quando usa a consola, define o limite de armazenamento como uma percentagem da capacidade da instância, em vez de um número específico de GB.maxmemory-percent
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 de maxmemory para ver uma descrição do comportamento de cada política.

Para obter informações adicionais acerca das políticas maxmemory do Redis de código aberto, consulte a página da cache LRU do Redis de código aberto
noeviction
allkeys-lru
volatile-lru (predefinição)
allkeys-random
volatile-random
volatile-ttl
volatile-lfu (versão 4.0 e superior do Redis)
allkeys-lfu (versão 4.0 e superior do Redis)
notify-keyspace-events Permite que os clientes subscrevam notificações em determinados eventos do espaço de chaves. Consulte a página Notificações do espaço de chaves do Redis no site do Redis para mais informações. "" (predefinição)
K
Eventos do espaço de chaves, publicados com o prefixo __keyspace@__.
E
Eventos keyevent, publicados com o prefixo __keyevent@__.
g
Comandos genéricos (não específicos do tipo), como DEL, EXPIRE ou RENAME
$
Comandos de strings
l
Comandos de listas
s
Comandos de conjuntos
h
Comandos de hash
z
Comandos de conjuntos ordenados
x
Eventos expirados (eventos gerados sempre que uma chave expira)
e
Eventos removidos (eventos gerados quando uma chave é removida para maxmemory)
A
Alias para g$lshzxe, para que a string "AKE" signifique todos os eventos.
stream-node-max-bytes Versão 5.0 ou posterior do Redis. A estrutura de dados de stream do Redis usa uma árvore radix para armazenar itens. O parâmetro stream-node-max-bytes designa o número máximo de bytes disponíveis para armazenar itens num único nó da árvore. Quando este limite é atingido, os novos itens são armazenados num novo nó da árvore. Números inteiros iguais ou superiores a 0.
(predefinição=4096)
0 designa um nó de árvore de tamanho ilimitado.
stream-node-max-entries Versão 5.0 ou posterior do Redis. A estrutura de dados de stream do Redis usa uma árvore radix para armazenar itens. O parâmetro stream-node-max-entries designa o número de itens que podem ser armazenados num único nó. Quando este limite é atingido, os novos itens são armazenados num novo nó da árvore. Números inteiros iguais ou superiores a 0.
(predefinição=100)
0 designa um nó de árvore com um número ilimitado de itens.
timeout O número de segundos antes de as ligações de clientes inativas serem terminadas. No entanto, se timeout estiver definido como 0, os clientes inativos não atingem o limite de tempo e permanecem ligados até que o cliente emita a terminação. 0 (predefinição)
Números inteiros >= 120
Unidade = segundos

Parâmetros de configuração não modificáveis

A tabela seguinte apresenta os parâmetros de configuração do Redis que não pode modificar no Memorystore for Redis e os respetivos valores predefinidos. Consulte a documentação de configuração do Redis para ver informações detalhadas sobre estes parâmetros de configuração.

Parâmetro Valor predefinido
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 swapdb
io-threads-do-reads sim

O que se segue?