【发布时间】:2018-05-31 02:30:33
【问题描述】:
以下操作正常:
redis_client.setex(key, expiry_in_sec, value_json)
现在它突然回来了:
值不是整数或超出范围
【问题讨论】:
标签: redis
以下操作正常:
redis_client.setex(key, expiry_in_sec, value_json)
现在它突然回来了:
值不是整数或超出范围
【问题讨论】:
标签: redis
问题出在不同的 redis 客户端之间。
使用StrictRedis 时,setex 语法为:
setex key, expiry, value
使用Redis 客户端时,setex 语法为:
setex key, value, expiry
我们的具体问题是有人更改了 redis 客户端。
【讨论】:
如果时间值(或过期时间)是float 而不是int,Redis 也会返回此错误。
就我而言,在 Python 中使用 Redis,我必须更改以下内容:
ex = expiration_delta.total_seconds()
ex = int(expiration_delta.total_seconds())
success = redis.set(name=redis_key, value=my_val, ex=ex, nx=True)
注意set() 的ex 参数使它像setex 一样工作。
【讨论】: