python redis 人员信息查询_python获取redis key过期的信息

1、使用redis key 过期通知,需开启key过期通知功能:

登录进入redis-cli 客户端,执行:

config set notify-keyspace-events Ex

【或者启动redis前在redis.conf 添加配置:notify-keyspace-events "Ex" //过期时间监听生效】

2、启动监听key过期

登录进入redis-cli 客户端,执行:( 订阅一个或者多个符合pattern格式的频道)

PSUBSCRIBE __keyevent@*__:expired

然后该客户端处于监听状态,如果有key过期,则列出

Redis中发布与订阅只有简单的6个命令。即:

订阅一个或者多个符合pattern格式的频道

PSUBSCRIBE pattern [pattern ...]

发布消息到chanel中

PUBLISH channel message

查看订阅与发布系统状态

PUBSUB subcommand [argument [argument ...]]

退订所有符合格式的频道

PUNSUBSCRIBE [pattern [pattern ...]]

订阅一个或者多个频道

SUBSCRIBE channel [channel ...]

取消订阅频道

UNSUBSCRIBE [channel [channel ...]]--------------------

测试:

3、另外开启一个客户端,添加test 为key,并设置5秒过期

setex test 5 test

5秒后,监听窗口显示:

pmessage

__keyevent@*__:expired

__keyevent@0__:expired

test

4.接下来上python代码

#-*- coding:utf-8 -*-import timefromredis import StrictRedis

#创建redis连接

redis= StrictRedis(host='localhost', port=6379)

#创建一个pubsub对象,该对象订阅一个频道并侦听新消息

pubsub=redis.pubsub()

#pubsub.psubscribe('__keyspace@0__:*')

# 发布监听key失效的订阅

pubsub.psubscribe("__keyevent@0__:expired")

#通过无限循环等待事件

print('Starting message loop')for data inpubsub.listen():

print(data)

此时我们运行python代码,然后开一个redis-cli,搞一个keysvalue

setex keys 5 value

5秒以后keys会过期

python会打印

{'type': 'pmessage', 'pattern': b'__keyevent@0__:expired', 'channel': b'__keyevent@0__:expired'

'data': b'keys'}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值