DBAtlas · Atlas de operações de banco de dados

ERR invalid expire time in 'set' command: invalid expire time in SET

Redis

O que significa?

Um tempo de expiração inválido foi informado ao SET (com as opções EX/PX/EXAT/PXAT). O Redis rejeitou o comando porque não aceita um tempo de vida sem sentido, como zero ou um valor negativo.

Por que acontece?

Enviar 0 ou um valor negativo com EX/PX, ou a aplicação calcular errado a expiração e produzir um número inválido. Comandos como SETEX/GETEX retornam este erro de forma semelhante para durações não positivas. Alguns bugs de clientes vêm da confusão entre segundos e milissegundos.

Como resolver

Sempre envie a expiração como um inteiro estritamente positivo; EX espera segundos, PX milissegundos. Valide o cálculo da duração na aplicação (ele não deve produzir resultados negativos/zero) e não confunda as unidades (segundos vs. milissegundos). Para excluir uma chave imediatamente, use DEL/UNLINK em vez de definir uma expiração. Para tempo absoluto, passe um Unix timestamp futuro válido para EXAT/PXAT.

Abrir no DBAtlas →

Mais entradas deste banco