Gerenciamento de Expiração de Chaves
TTL especifica a duração que uma chave permanece disponível no banco de dados. Após esse tempo expirar, a chave é automaticamente excluída.
Conforme mostrado no exemplo, chaves com TTLs expirados são removidas, enquanto as demais chaves continuam existindo no banco de dados com seus tempos de vida atualizados. Isso ajuda a otimizar o uso de memória e automatizar a remoção de dados desatualizados.
Definindo Expiração de Chave
É possível definir o tempo de expiração para uma chave de várias maneiras. Por exemplo, pode-se definir uma chave e especificar que ela existirá por uma hora:
SET my_key "session:31003"
EXPIRE my_key 3600
Aqui, a chave my_key será automaticamente excluída após 3600 segundos (1 hora).
Alternativamente, é possível combinar a definição de um valor e o TTL em um único comando. Por exemplo, para definir o TTL em segundos ou milissegundos:
SET my_key "value" EX 3600
SET my_key "value" PX 60000
No primeiro caso, a chave irá expirar em 3600 segundos, e no segundo caso, irá expirar em 60000 milissegundos (1 minuto).
Verificando o TTL Restante
Para verificar quanto tempo resta antes de uma chave expirar, utilize o comando TTL:
TTL my_key
Se a chave existir e possuir um TTL, o comando retornará o tempo restante em segundos. Por exemplo, se o resultado for 120, a chave irá expirar em 2 minutos. Se a chave não tiver expiração, o resultado será -1, e se a chave não existir, o resultado será -2.
Para um controle mais preciso, é possível utilizar milissegundos:
PTTL my_key
Por exemplo, se o resultado for 45000, isso significa que a chave irá expirar em 45 segundos.
Remoção da Expiração de Chaves
Caso uma chave não deva mais expirar automaticamente, é possível remover seu TTL:
PERSIST my_key
Após este comando, a chave my_key se tornará permanente e não será excluída automaticamente.
Aplicações Práticas
A gestão da expiração de chaves possui uma ampla variedade de casos de uso. Por exemplo, em cache, registros expirados são automaticamente removidos, liberando memória. Para gerenciamento de sessões, garante que sessões inativas sejam encerradas, melhorando tanto a segurança do sistema quanto o desempenho.
1. Qual é o objetivo de gerenciar o TTL das chaves no Redis?
2. O que acontece ao executar o comando PERSIST em uma chave?
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 3.33
Gerenciamento de Expiração de Chaves
Deslize para mostrar o menu
TTL especifica a duração que uma chave permanece disponível no banco de dados. Após esse tempo expirar, a chave é automaticamente excluída.
Conforme mostrado no exemplo, chaves com TTLs expirados são removidas, enquanto as demais chaves continuam existindo no banco de dados com seus tempos de vida atualizados. Isso ajuda a otimizar o uso de memória e automatizar a remoção de dados desatualizados.
Definindo Expiração de Chave
É possível definir o tempo de expiração para uma chave de várias maneiras. Por exemplo, pode-se definir uma chave e especificar que ela existirá por uma hora:
SET my_key "session:31003"
EXPIRE my_key 3600
Aqui, a chave my_key será automaticamente excluída após 3600 segundos (1 hora).
Alternativamente, é possível combinar a definição de um valor e o TTL em um único comando. Por exemplo, para definir o TTL em segundos ou milissegundos:
SET my_key "value" EX 3600
SET my_key "value" PX 60000
No primeiro caso, a chave irá expirar em 3600 segundos, e no segundo caso, irá expirar em 60000 milissegundos (1 minuto).
Verificando o TTL Restante
Para verificar quanto tempo resta antes de uma chave expirar, utilize o comando TTL:
TTL my_key
Se a chave existir e possuir um TTL, o comando retornará o tempo restante em segundos. Por exemplo, se o resultado for 120, a chave irá expirar em 2 minutos. Se a chave não tiver expiração, o resultado será -1, e se a chave não existir, o resultado será -2.
Para um controle mais preciso, é possível utilizar milissegundos:
PTTL my_key
Por exemplo, se o resultado for 45000, isso significa que a chave irá expirar em 45 segundos.
Remoção da Expiração de Chaves
Caso uma chave não deva mais expirar automaticamente, é possível remover seu TTL:
PERSIST my_key
Após este comando, a chave my_key se tornará permanente e não será excluída automaticamente.
Aplicações Práticas
A gestão da expiração de chaves possui uma ampla variedade de casos de uso. Por exemplo, em cache, registros expirados são automaticamente removidos, liberando memória. Para gerenciamento de sessões, garante que sessões inativas sejam encerradas, melhorando tanto a segurança do sistema quanto o desempenho.
1. Qual é o objetivo de gerenciar o TTL das chaves no Redis?
2. O que acontece ao executar o comando PERSIST em uma chave?
Obrigado pelo seu feedback!