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

如何使Redis存储的列表24小时后过期?支持指定日期过期吗?

Redis列表自动过期实现方案

一、设置24小时后自动过期

直接计算24小时对应的秒数(24×60×60=86400),替换expire命令的第二个参数即可,修改后的代码如下:

r.rpush(r_id, d_id, l_id, ib_st)
# 设置键在24小时后过期
r.expire(resident_id, 86400)

如果习惯用毫秒级时长,也可以用pexpire命令,传入86400000(24×60×60×1000)作为参数,效果一致。

二、设置指定日期过期

Redis提供expireat命令实现指定时间戳过期,需要先把目标过期日期转换为Unix秒级时间戳,再传入命令。示例代码如下:

import time

# 方法1:直接填写目标日期的Unix时间戳(比如2024-10-01 00:00:00对应的时间戳是1727779200)
target_timestamp = 1727779200

# 方法2:用time模块将日期字符串转成时间戳
# target_timestamp = time.mktime(time.strptime("2024-10-01 00:00:00", "%Y-%m-%d %H:%M:%S"))

r.rpush(r_id, d_id, l_id, ib_st)
# 设置键在指定时间戳对应的日期过期
r.expireat(resident_id, target_timestamp)

如果需要毫秒级精度,改用pexpireat命令,传入毫秒级Unix时间戳即可。

补充说明:Redis的过期键会通过惰性删除+定期删除机制清理,不会导致过期键长期占用内存,无需额外手动清理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 05:01:32