如何用redis实现倒计时任务
作者:BlueNight
时间:2023-04-26
来源:互联网
浏览:0
示例如下:importredisimporttimedefevent_handler(msg):'''监听到任何key过期后,得到的消息如下msg={'type':'pmessage',#返回值类型'pattern':'__keyevent@2__:expired',#来源'channel':'__keyevent@2__:expired',#实际的Channel'data
示例如下:
import redis
import time
def event_handler(msg):
'''
监听到任何key过期后,得到的消息如下
msg ={'type': 'pmessage', #返回值类型
'pattern': '__keyevent@2__:expired', #来源
'channel': '__keyevent@2__:expired', # 实际的Channel
'data': 'mykey' # key名称
}
可以根据您要监控的key进行业务判断或触发其他事件
if msg['data']=='mykey':
do....
elif msg['data']=='yourkey':
do ----
'''
print(msg)
redis_conn = redis.Redis(host='host', port='6379', db=2, password='test.123.com', decode_responses=True)
#设置过期时间2秒
redis_conn.set('mykey', 'asjdhkjashdkjahdskjahsd', ex=2)
# 订阅消息
pubsub =redis_conn.pubsub()
# 订阅key过期事件
# __keyevent@2__:expired : __keyevent@{db}__:事件
pubsub.psubscribe(**{'__keyevent@2__:expired': event_handler})
while True:
message = pubsub.get_message()
if message:
# redis_conn.set('mykey', 'asjdhkjashdkjahdskjahsd', ex=10)
print('wqwqwqwqwqwqwqwqwqwqwqwqwqwqwqwqwqwq')
else:
time.sleep(0.01)
作者最新文章
联发科天玑9600 Pro首发2nm:能效与游戏渲染技术详解
2026-09-08 16:54
Excel基础操作指南:数据录入、格式设置、公式应用与打印预览
2026-09-02 12:47
动画制作全流程:从故事板到关键帧与最终输出
2026-09-02 11:12
砸了百亿的“神器”,正在很多人家里吃灰
2026-08-25 15:53
REDMI 17与Note 17系列通过认证 Note 17系列或7、8月发布
2026-08-25 14:28
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多
Windows 10
Windows
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式
Windows/macOS/Linux
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















