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 读写txt文件 json文件的实现方法
Oct 22 Python
Python 实现数据库更新脚本的生成方法
Jul 09 Python
Python创建对称矩阵的方法示例【基于numpy模块】
Oct 12 Python
python psutil库安装教程
Mar 19 Python
python装饰器深入学习
Apr 06 Python
python实现搜索文本文件内容脚本
Jun 22 Python
Python基于sklearn库的分类算法简单应用示例
Jul 09 Python
浅谈Python编程中3个常用的数据结构和算法
Apr 30 Python
Python lxml模块的基本使用方法分析
Dec 21 Python
Python IDE环境之 新版Pycharm安装详细教程
Mar 05 Python
pandas分批读取大数据集教程
Jun 06 Python
Python Http请求json解析库用法解析
Nov 28 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
PHP一些常用的正则表达式字符的一些转换
2008/07/29 PHP
支付宝支付开发――当面付条码支付和扫码支付实例
2016/11/04 PHP
php 处理png图片白色背景色改为透明色的实例代码
2018/12/10 PHP
PDO::beginTransaction讲解
2019/01/27 PHP
轻量级 JS ToolTip提示效果
2010/07/20 Javascript
IE6下CSS图片缓存问题解决方法
2010/12/09 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
2012/01/21 Javascript
node.js中的fs.writeFileSync方法使用说明
2014/12/14 Javascript
原生javascript实现Tab选项卡切换功能
2015/01/12 Javascript
Javascript之String对象详解
2016/06/08 Javascript
jQuery实现链接的title快速出现的方法
2017/02/20 Javascript
JavaScript运动框架 解决防抖动问题、悬浮对联(二)
2017/05/17 Javascript
bootstrap表格内容过长时用省略号表示的解决方法
2017/11/21 Javascript
微信小程序实现image组件图片自适应宽度比例显示的方法
2018/01/16 Javascript
Bootstrap Table列宽拖动的方法
2018/08/15 Javascript
JS+canvas画布实现炫酷的旋转星空效果示例
2019/02/13 Javascript
vue.js路由mode配置之去掉url上默认的#方法
2019/11/01 Javascript
javascript用defineProperty实现简单的双向绑定方法
2020/04/03 Javascript
JS继承实现方法及优缺点详解
2020/09/02 Javascript
Python正则表达式经典入门教程
2017/05/22 Python
Python实现连接两个无规则列表后删除重复元素并升序排序的方法
2018/02/05 Python
使用pandas中的DataFrame数据绘制柱状图的方法
2018/04/10 Python
python从zip中删除指定后缀文件(推荐)
2019/12/05 Python
python使用html2text库实现从HTML转markdown的方法详解
2020/02/21 Python
sklearn和keras的数据切分与交叉验证的实例详解
2020/06/19 Python
德国综合购物网站:OTTO
2018/11/13 全球购物
Charles&Keith美国官方网站:新加坡快时尚鞋类和配饰零售商
2019/11/27 全球购物
毕业生求职的求职信
2013/12/05 职场文书
甜品蛋糕店创业计划书范文
2014/02/06 职场文书
2014年小学植树节活动方案
2014/03/02 职场文书
读群众路线心得体会
2014/03/07 职场文书
春节超市活动方案
2014/08/14 职场文书
教师工作自我鉴定范文
2014/09/14 职场文书
消防演习通知
2015/04/25 职场文书
详解nginx.conf 中 root 目录设置问题
2021/04/01 Servers
MongoDB连接数据库并创建数据等使用方法
2021/11/27 MongoDB