You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Redis模块无法设置Unix时间戳过期时间:是bug还是版本不兼容?

环境平台

  • Windows 11 Pro x64 简体中文(zh_CN)
  • Python版本:3.9.12 MSC v.1916 64 bit (AMD64)
  • Redis版本:5.0.14.1 x64
  • Python Redis模块版本:4.5.1

问题

无法使用Python Redis模块设置Unix时间戳格式的过期时间

疑问

这是Python Redis模块的bug,还是Redis服务器与该模块版本不兼容?

尝试的方法及代码

(注:变量key为随机字符串)

首先是Redis连接代码:

redis_pool_session = redis.ConnectionPool(host=app_config.APP_REDIS_SERVER_HOST, port=app_config.APP_REDIS_SERVER_PORT, db=app_config.APP_REDIS_DB_SESSION_NO, password=app_config.APP_REDIS_SERVER_PASSWORD, decode_responses=True)
conn = redis.Redis(connection_pool=redis_pool_session)

方法1

直接通过set方法的exat参数设置过期时间:

conn.set("JIE_DEMO_" + key, value, exat=1677298679)

方法2

先设置键值,再调用expireat方法:

conn.set("JIE_DEMO_" + key, value)
conn.expireat("JIE_DEMO_" + key, 1677298679)

Redis命令行(Redis-CLI)操作

EXPIREAT "JIE_DEMO_<key>" 1677298679

(注:将<key>替换为实际随机字符串)

错误现象

  • 方法1报错:

    redis.exceptions.ResponseError: syntax error

  • 方法2:

    程序返回码为0,但实际完全不生效。在Redis-CLI中查询该键的过期时间,TTL仍为-1(永久有效)

Redis-CLI执行对应操作可正常生效。

内容的提问来源于stack exchange,提问作者Daniel JIE

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 02:38:10