ERR invalid expire time in 'set' command: invalid expire time in SET(SET 中的过期时间无效)
Redis含义
向 SET(使用 EX/PX/EXAT/PXAT 选项)提供了无效的过期时间。Redis 不接受零或负值这类无意义的生存时间,因此拒绝了该命令。
原因
用 EX/PX 发送了 0 或负值,或应用错误地计算了过期时间并产生了无效数字。SETEX/GETEX 等命令对于非正的时长同样返回此错误。某些客户端缺陷源于混淆了秒和毫秒。
解决方法
始终以严格为正的整数发送过期时间;EX 以秒为单位,PX 以毫秒为单位。在应用中校验时长计算(不得产生负数/零),不要混淆单位(秒与毫秒)。要立即删除键,使用 DEL/UNLINK,而不是设置过期时间。对于绝对时间,向 EXAT/PXAT 传入有效的未来 Unix 时间戳。