python redis 批量设置过期key过程解析
这篇文章主要介绍了pythonredis批量设置过期key过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
在使用Redis、Codis时,我们经常需要做一些批量操作,通过连接数据库批量对key进行操作:
关于未过期:
1.常有大批量的key未设置过期,导致内存一直暴增
2.rd需求扫描出这些key,rd自己处理过期(一般dba不介入数据的修改)
3.dba批量设置过期时间,(一般测试可以直接批量设置,线上谨慎操作)
通过一段代码,批量实现给未设置过期的key,设置24小时过期
fromredisimportRedis defsetExpiredKeys(): try: ifredis_pass=='none': redisclient=Redis(host=redis_host,port=redis_port,db=0) else: redisclient=Redis(host=redis_host,port=redis_port,password=redis_pass) forkeyinredisclient.scan_iter(count=500): keyttl=redisclient.execute_command('ttl',key) ifkeyttl==-1:#此处扫到key,可以进行导出处理或者执行命令 redisclient.expire(key,86400) exceptExceptionase: raisee if__name__=='__main__': redis_host='192.168.0.1' redis_port=6379 redis_pass='123456' setExpiredKeys()
代码功能:
通过导入redis模块中的Redis类函数,访问redis数据;建立Redisclient客户端,通过scan_iter每次获取500个key;对key执行ttl命令,通过返回值判断key是否设置了过期,如果没有设置,就通过expire命令批量设置过期时间
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。