ERR invalid expire time in 'set' command: invalid expire time in SET
RedisNe demek?
SET komutuna (EX/PX/EXAT/PXAT seçenekleriyle) geçersiz bir son kullanma süresi verildi. Redis, sıfır ya da negatif gibi anlamsız bir yaşam süresini kabul etmediği için komutu reddetti.
Neden olur?
EX/PX ile 0 veya negatif bir değer gönderilmesi, ya da uygulamanın son kullanma süresini yanlış hesaplayıp geçersiz bir sayı üretmesi. SETEX/GETEX gibi komutlarda da benzer biçimde pozitif olmayan süreler bu hatayı verir. Bazı istemci hataları saniye/milisaniye birim karışıklığından kaynaklanır.
Nasıl çözülür?
Son kullanma süresini kesinlikle pozitif bir tamsayı olarak gönderin; EX saniye, PX milisaniye bekler. Uygulamada süre hesabını doğrulayın (negatif/sıfır sonuç üretmesin) ve birimleri (saniye vs. milisaniye) karıştırmayın. Bir anahtarı hemen silmek istiyorsanız süre atamak yerine DEL/UNLINK kullanın. Mutlak zaman için EXAT/PXAT'e geçerli bir gelecekteki Unix zaman damgası verin.