ERR invalid expire time in 'set' command: invalid expire time in SET
Redis¿Qué significa?
Se indicó a SET un tiempo de expiración no válido (con las opciones EX/PX/EXAT/PXAT). Redis rechazó el comando porque no acepta un tiempo de vida sin sentido, como cero o un valor negativo.
¿Por qué ocurre?
Enviar 0 o un valor negativo con EX/PX, o que la aplicación calcule mal la expiración y produzca un número no válido. Comandos como SETEX/GETEX devuelven este error de forma similar con duraciones no positivas. Algunos bugs de cliente se deben a confundir segundos y milisegundos.
Cómo solucionarlo
Envíe siempre la expiración como un entero estrictamente positivo; EX espera segundos y PX milisegundos. Valide el cálculo de la duración en la aplicación (no debe producir resultados negativos/cero) y no confunda las unidades (segundos frente a milisegundos). Para eliminar una clave de inmediato, use DEL/UNLINK en lugar de establecer una expiración. Para un tiempo absoluto, pase a EXAT/PXAT una marca de tiempo Unix futura válida.