python redis 批量设置过期key过程解析


Posted in Python onNovember 26, 2019

这篇文章主要介绍了python redis 批量设置过期key过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

在使用 Redis、Codis 时,我们经常需要做一些批量操作,通过连接数据库批量对 key 进行操作:

关于未过期:

1.常有大批量的key未设置过期,导致内存一直暴增

2.rd需求 扫描出这些key,rd自己处理过期(一般dba不介入数据的修改)

3.dba 批量设置过期时间,(一般测试可以直接批量设置,线上谨慎操作)

通过一段代码,批量实现给未设置过期的key,设置24小时过期

from redis import Redis
def setExpiredKeys():
  try:
    if redis_pass == 'none':
      redisclient = Redis(host=redis_host, port=redis_port,db=0)
    else:
      redisclient = Redis(host=redis_host, port=redis_port, password=redis_pass)
    for key in redisclient.scan_iter(count=500):
      keyttl = redisclient.execute_command('ttl', key)
      if keyttl == -1: # 此处扫到key,可以进行导出处理或者执行命令
        redisclient.expire(key, 86400)
  except Exception as e:
    raise e
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 命令 批量设置过期时间

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python文件与文件夹常见基本操作总结
Sep 19 Python
python将每个单词按空格分开并保存到文件中
Mar 19 Python
python实现音乐下载器
Apr 15 Python
Python3 获取一大段文本之间两个关键字之间的内容方法
Oct 11 Python
Python 实现某个功能每隔一段时间被执行一次的功能方法
Oct 14 Python
linux环境中没有网络怎么下载python
Jul 07 Python
Python字符串中添加、插入特定字符的方法
Sep 10 Python
离线状态下在jupyter notebook中使用plotly实例
Apr 24 Python
Python2手动安装更新pip过程实例解析
Jul 16 Python
python实现三次密码验证的示例
Apr 29 Python
用python实现监控视频人数统计
May 21 Python
只用Python就可以制作的简单词云
Jun 07 Python
python3 tkinter实现添加图片和文本
Nov 26 #Python
使用Rasterio读取栅格数据的实例讲解
Nov 26 #Python
Python小程序之在图片上加入数字的代码
Nov 26 #Python
基于Python获取城市近7天天气预报
Nov 26 #Python
NumPy中的维度Axis详解
Nov 26 #Python
python列表推导式操作解析
Nov 26 #Python
Python 实现Numpy中找出array中最大值所对应的行和列
Nov 26 #Python
You might like
显示youtube视频缩略图和Vimeo视频缩略图代码分享
2014/02/13 PHP
PHP实现的简单日历类
2014/11/29 PHP
THINKPHP在添加数据的时候获取主键id的值方法
2017/04/03 PHP
PHP时间处理类操作示例
2018/09/05 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
2020/02/27 PHP
对象特征检测法判断浏览器对javascript对象的支持
2009/07/25 Javascript
JavaScript 捕获窗口关闭事件
2009/07/26 Javascript
js中继承的几种用法总结(apply,call,prototype)
2013/12/26 Javascript
调整小数的格式保留小数点后两位
2014/05/14 Javascript
jQuery实现的Div窗口震动效果实例
2015/08/07 Javascript
javascript精确统计网站访问量实例代码
2015/12/19 Javascript
基于JS实现checkbox全选功能实例代码
2016/10/31 Javascript
vue router 配置路由的方法
2018/07/26 Javascript
JS实现的Object数组去重功能示例【数组成员为Object对象】
2019/02/01 Javascript
浅析微信小程序modal弹窗关闭默认会执行cancel问题
2019/10/14 Javascript
vue.js实现三级菜单效果
2019/10/19 Javascript
微信小程序仿淘宝热搜词在搜索框中轮播功能
2020/01/21 Javascript
解决vue+elementui项目打包后样式变化问题
2020/08/03 Javascript
python 从远程服务器下载日志文件的程序
2013/02/10 Python
Python过滤列表用法实例分析
2016/04/29 Python
python爬虫headers设置后无效的解决方法
2017/10/21 Python
python决策树之CART分类回归树详解
2017/12/20 Python
Python实现动态图解析、合成与倒放
2018/01/18 Python
python实现对指定输入的字符串逆序输出的6种方法
2018/04/26 Python
使用pandas批量处理矢量化字符串的实例讲解
2018/07/10 Python
解决python多行注释引发缩进错误的问题
2019/08/23 Python
python3 自动打印出最新版本执行的mysql2redis实例
2020/04/09 Python
日本非常有名的内衣丝袜品牌:GUNZE
2017/01/06 全球购物
本科毕业生的求职信范文
2013/11/20 职场文书
毕业生写求职信的要点
2014/03/04 职场文书
节水标语大全
2014/06/11 职场文书
安装工程师岗位职责
2015/02/13 职场文书
2015年幼儿园中班开学寄语
2015/05/27 职场文书
重阳节简报
2015/07/20 职场文书
2015年依法治校工作总结
2015/07/27 职场文书
Python如何将list中的string转换为int
2022/07/15 Ruby