Redis define um tempo limite na chave

Redis define um tempo limite na chave
Redis é um banco de dados de valor-chave na memória gratuito. Como um banco de dados de valor-chave, Redis funciona mapeando uma chave de string específica para um tipo específico de valor. Depois de criar uma chave no Redis, ela continuará a existir, a menos que você a remova manualmente.

No entanto, o Redis permite que você defina uma vida limitada para uma chave específica. Usando essa funcionalidade, você pode dizer a Redis para criar uma chave e excluí -la depois que um determinado período de tempo foi decorrido. A volatilidade nas chaves é benéfica quando você precisa armazenar valores temporários.

Neste guia, você aprenderá como criar chaves com uma duração de validade, como definir um tempo de expiração nas teclas existentes e como verificar o tempo restante até que uma chave expire.

Para seguir este tutorial, verifique se você está instalado e executando em seu sistema. Todos os comandos fornecidos neste tutorial são testados em um servidor Debian 11 executando o Redis versão 6.0.

Use o utilitário Redis CLI para obter uma saída semelhante à que este tutorial mostra para executar os comandos.

Criando uma chave com duração de validade

Para criar um Redis com um tempo de validade, use o comando set e a opção Ex para definir o tempo de expiração.

A sintaxe geral é como:

Definir o valor da chave Ex

A opção EX leva um número em segundos e define o número de segundos que a chave é válida até a expiração.

Você também pode usar o PX para especificar o tempo de expiração em milissegundos.

Definir o valor da chave PX

Os exemplos a seguir criam uma chave e definem o tempo de expiração para 60 segundos.

127.0.0.1: 6379> defina my_key my_value ex 60
OK

A chave acima expirará após 60 segundos e será removida do banco de dados.

Definir tempo de validade para as chaves existentes

Para definir um tempo de validade para uma chave existente no Redis, use o comando Expire. Este comando leva a chave e a duração em segundos para atribuir à chave especificada.

Os exemplos a seguir ilustram como usar o comando expire em redis.

127.0.0.1: 6379> Defina NewKey NewValue
OK

O comando acima criará uma nova chave e valor.

127.0.0.1: 6379> Expire Newkey 60
(Inteiro) 1

Em seguida, usamos o comando expire para definir o tempo de expiração para a chave para 60 segundos.

O comando retorna (número inteiro 1) 1 Se a duração da expiração for definida com sucesso e (número inteiro) 0 se o tempo de expiração falhar.

127.0.0.1: 6379> Expire não existe 10
(Inteiro) 0

O comando acima retorna (número inteiro) 0 como a chave especificada não existe.

Usando o tempo Unix

Se você deseja que uma chave expire em um horário específico, você pode usar o comando expireat. Este comando leva um carimbo de data / hora do Unix como duração.

Por exemplo, para definir a chave para expirar no 1º de 2022, primeiro converta o tempo para o Timestamp Unix usando ferramentas como o UnixtimeSTamp.com

Copie o valor do registro de data e hora do Unix e use -o no comando como mostrado:

127.0.0.1: 6379> Defina MyKey MyValue
OK
127.0.0.1: 6379> Expireat MyKey 1640984400
(Inteiro) 1

Os primeiros comandos criam uma chave e valor usando o comando set. Em seguida, usamos o comando expireat para definir a chave para expirar em 2 meses.

Verifique a hora de viver

Para o tempo restante antes que uma chave expire, também conhecida como tempo para viver, use o comando ttl como:

127.0.0.1: 6379> ttl mykey
(Inteiro) 3936897

O comando retornará o número de segundos restantes até que uma chave expire.

Persistência do tempo de validade.

Se você definir um tempo de expiração em uma chave específica, ela será automaticamente substituída por qualquer comando que modifique o valor da chave.

Para remover manualmente o valor de expiração, use o comando persist.

127.0.0.1: 6379> persiste mykey
(Inteiro) 1

Fechamento

Este guia discutiu o número de comandos e a sintaxe para definir e modificar o tempo de expiração para as chaves em um banco de dados Redis.

Obrigado pela leitura e fique atento para mais tutoriais.