ERR invalid expire time in 'set' command: invalid expire time in SET
RedisO 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.