O que é Política de Despeamento Redis?
Como o nome sugere, uma política de despejo é um recurso que permite que Redis "despeje" ou remova dados antigos à medida que novos dados são adicionados. Este é um recurso incrível principalmente quando o Redis é usado como um sistema de cache.
Diretiva Redis MaxMemory
No arquivo de configuração Redis, uma diretiva chamada MaxMemory determina a quantidade de memória alocada para um conjunto de dados.
Embora você possa configurar o MaxMemory em tempo de execução usando o comando de configuração de configuração, o redis.O arquivo conf permite defini -lo no modo de persistência.
Para definir o valor MaxMemory em tempo de execução, faça login na Redis CLI e digite o comando:
Conjunto de configuração MaxMemory 100
O comando acima definirá o valor maxmemory para 100 MB no tempo de execução. Você pode obter o valor definido atual para MaxMemory usando o comando:
127.0.0.1: 6379> Config Get MaxMemory*
Isso deve retornar:
1) "MaxMemory-Policy"
2) "Noeviction"
3) "MaxMemory Samples"
4) "5"
5) "MaxMemory"
6) "100"
O primeiro é a política de despejo. Isso determina como os dados são removidos após o alcance.
Nota: Definir o MaxMemory para 0 garante que não haja limites. Para sistemas de 64 bits, isso está definido como padrão. Em sistemas de 332 bits, Redis usará até 3 GB.
Como funciona o processo de despejo
Mas como exatamente esse processo de despejo funciona?
Isso acontece em 4 etapas simples.
Políticas de despejo de Redis
Continuamos mencionando políticas de despejo. O que eles são e o que eles fazem?
Em termos simples, uma política de despejo define as regras de como Redis despeja uma chave quando o limite de memória é atingido.
Existem duas categorias de políticas de despejo em Redis.
Políticas gerais de despejo
A primeira categoria são as políticas gerais de despejo. Essas políticas se aplicam a qualquer chave que não tenha um valor de expiração.
Eles incluem:
Esta política de despejo diz a Redis para não remover nenhum dado quando o limite de memória for atingido. Em vez disso, o Redis retornará um erro e falhará ao executar o comando Add Data.
Esta política é fortemente aplicável quando você precisa remover as chaves manualmente ou evitar a perda acidental de dados.
A segunda política é Allkeys-Lru. Este tipo de política despeja menos recentemente Key ou LRU.
Esta política assume que você não precisa das chaves usadas recentemente e as despeja. Imagina Redis de errar no caso de um limite de memória.
Esta política removerá as chaves em qualquer ordem aleatória. Esta é uma excelente política quando as chaves em seu banco de dados são de igual importância.
Políticas de despejo voláteis
Esses tipos de políticas de despejo dependem de chaves com valores de expiração. Eles incluem:
Esta política de despejo remove as chaves com um valor de expiração em qualquer ordem aleatória. É semelhante à política de Random Allkeys, exceto que apenas remove as teclas expiradas.
A política volátil-TTL remove as chaves com um tempo de validade, mas escolhe o que é o menor tempo para morar primeiro.
Semelhante ao volátil-TTL, mas remove as teclas menos usadas com frequência primeiro.
Conclusão
Esta é uma introdução às políticas de Redis MaxMemory e de despejo. Você pode aprender mais sobre as regras de despejo de Redis no recurso abaixo.
https: // redis.io/tópicos/lru-cache