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?
- Saiba mais sobre as configurações do Redis na página de configuração do Redis de código aberto