ERR invalid expire time in 'set' command: invalid expire time in SET(SET の有効期限が無効)
Redis意味
SET (EX/PX/EXAT/PXAT オプション付き) に無効な有効期限が与えられた。ゼロや負の値などの意味のない有効期間 (TTL) を受け付けないため、Redis はコマンドを拒否した。
原因
EX/PX で 0 または負の値を送信した、またはアプリケーションが有効期限を誤って計算して無効な数値を生成した。SETEX/GETEX などのコマンドも、正でない期間に対して同様にこのエラーを返す。一部のクライアントのバグは秒とミリ秒の混同に起因する。
対処方法
有効期限は常に厳密に正の整数で送信する。EX は秒、PX はミリ秒を想定する。アプリケーションで期間の計算を検証し (負/ゼロの結果にならないこと)、単位 (秒とミリ秒) を混同しない。キーを即座に削除するには、有効期限を設定するのではなく DEL/UNLINK を使用する。絶対時刻の場合は、EXAT/PXAT に有効な将来の Unix タイムスタンプを渡す。
同じデータベースの他の項目
- IOERR error or timeout reading from target instanceMIGRATE: I/O error or timeout to target(ターゲットへの I/O エラーまたはタイムアウト)
- ERR Error compiling script (new function)Error compiling Lua script(Lua スクリプトのコンパイルエラー)
- ERR FAILOVER requires connected replicas.FAILOVER requires connected replicas(FAILOVER には接続されたレプリカが必要)