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-100A 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 |
noevictionallkeys-lruvolatile-lru (predefinição)allkeys-randomvolatile-randomvolatile-ttlvolatile-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)KEventos do espaço de chaves, publicados com o prefixo __keyspace@ EEventos keyevent, publicados com o prefixo __keyevent@ gComandos genéricos (não específicos do tipo), como DEL, EXPIRE ou RENAME $Comandos de strings lComandos de listas sComandos de conjuntos hComandos de hash zComandos de conjuntos ordenados xEventos expirados (eventos gerados sempre que uma chave expira) eEventos removidos (eventos gerados quando uma chave é removida para maxmemory) AAlias 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?
- Saiba mais sobre as configurações do Redis na página de configuração do Redis de código aberto