DBAtlas · Atlas de operaciones de bases de datos

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.

Abrir en DBAtlas →

Más entradas de este motor