DBAtlas · Atlas d'exploitation des bases de données

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

Redis

Que signifie cette erreur ?

Un délai d'expiration invalide a été fourni à SET (avec les options EX/PX/EXAT/PXAT). Redis a refusé la commande car il n'accepte pas une durée de vie dénuée de sens comme zéro ou une valeur négative.

Cause

Envoi de 0 ou d'une valeur négative avec EX/PX, ou application qui calcule mal l'expiration et produit un nombre invalide. Des commandes comme SETEX/GETEX renvoient cette erreur de la même façon pour des durées non positives. Certains bugs clients proviennent d'une confusion entre secondes et millisecondes.

Comment la corriger

Envoyez toujours l'expiration sous forme d'entier strictement positif ; EX attend des secondes, PX des millisecondes. Validez le calcul de la durée dans l'application (il ne doit pas produire de résultat négatif/nul) et ne confondez pas les unités (secondes et millisecondes). Pour supprimer une clé immédiatement, utilisez DEL/UNLINK au lieu de définir une expiration. Pour un temps absolu, passez à EXAT/PXAT un timestamp Unix futur valide.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur