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 self,cls,decorator的理解
Jul 13 Python
Python中的ConfigParser模块使用详解
May 04 Python
PyQt5利用QPainter绘制各种图形的实例
Oct 19 Python
Python中enumerate函数代码解析
Oct 31 Python
用Python删除本地目录下某一时间点之前创建的所有文件的实例
Dec 14 Python
Python 循环语句之 while,for语句详解
Apr 23 Python
python 实现返回一个列表中出现次数最多的元素方法
Jun 11 Python
pyqt5 删除layout中的所有widget方法
Jun 25 Python
浅谈Pytorch中的torch.gather函数的含义
Aug 18 Python
Python高级property属性用法实例分析
Nov 19 Python
python 解决tqdm模块不能单行显示的问题
Feb 19 Python
pytest fixtures装饰器的使用和如何控制用例的执行顺序
Jan 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
虫族 Zerg 热键控制
2020/03/14 星际争霸
Zend Framework教程之Zend_Form组件实现表单提交并显示错误提示的方法
2016/03/21 PHP
thinkPHP5.0框架模块设计详解
2017/03/18 PHP
php查询内存信息操作示例
2019/05/09 PHP
JavaScript 脚本将当地时间转换成其它时区
2009/03/19 Javascript
THREE.JS入门教程(4)创建粒子系统
2013/01/24 Javascript
如何实现修改密码时密码框显示保存到cookie的密码
2013/12/10 Javascript
node.js中的buffer.toString方法使用说明
2014/12/14 Javascript
js实现鼠标划过给div加透明度的方法
2015/05/25 Javascript
jQuery实现的浮动层div浏览器居中显示效果
2017/02/03 Javascript
javascript将非数值转换为数值
2018/09/13 Javascript
Node+OCR实现图像文字识别功能
2018/11/26 Javascript
浅谈vue中组件绑定事件时是否加.native
2019/11/09 Javascript
Vue 中使用 typescript的方法详解
2020/02/17 Javascript
深入分析jQuery.one() 函数
2020/06/03 jQuery
[02:58]献给西雅图的情书_高清
2014/05/29 DOTA
[01:37]全新的一集《真视界》——TI7总决赛
2017/09/21 DOTA
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
2015/10/18 Python
python实现BackPropagation算法
2017/12/14 Python
Python使用cx_Freeze库生成msi格式安装文件的方法
2018/07/10 Python
在双python下设置python3为默认的方法
2018/10/31 Python
详解python使用pip安装第三方库(工具包)速度慢、超时、失败的解决方案
2018/12/02 Python
python爬取指定微信公众号文章
2018/12/20 Python
Python 编程速成(推荐)
2019/04/15 Python
html5中valid、invalid、required的定义
2014/02/21 HTML / CSS
完美解决IE8下不兼容rgba()的问题
2017/03/31 HTML / CSS
购买原创艺术品:Zatista
2019/11/09 全球购物
微软马来西亚官方网站:Microsoft马来西亚
2019/11/22 全球购物
澳大利亚头发和美容产品购物网站:OZ Hair & Beauty
2020/03/27 全球购物
如何开发安全的AJAX应用
2014/03/26 面试题
药品业务员岗位职责
2014/04/17 职场文书
初中班主任经验交流材料
2014/05/16 职场文书
教师廉洁自律承诺书
2014/05/26 职场文书
任命书模板
2014/06/04 职场文书
大学生实习介绍信
2015/05/05 职场文书
回复函格式及范文
2015/07/14 职场文书