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中tell()方法的使用详解
May 24 Python
Python  pip安装lxml出错的问题解决办法
Feb 10 Python
Python实现可自定义大小的截屏功能
Jan 20 Python
Python八大常见排序算法定义、实现及时间消耗效率分析
Apr 27 Python
详解Pytorch 使用Pytorch拟合多项式(多项式回归)
May 24 Python
解决python matplotlib imshow无法显示的问题
May 24 Python
python在html中插入简单的代码并加上时间戳的方法
Oct 16 Python
python实现石头剪刀布小游戏
Jan 20 Python
pyqt5 lineEdit设置密码隐藏,删除lineEdit已输入的内容等属性方法
Jun 24 Python
python set内置函数的具体使用
Jul 02 Python
python 负数取模运算实例
Jun 03 Python
Python实现快速大文件比较代码解析
Sep 04 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 日,周,月点击排行统计
2012/01/11 PHP
浅谈PHP中单引号和双引号到底有啥区别呢?
2015/03/04 PHP
php获取目录下所有文件及目录(多种方法)(推荐)
2019/05/14 PHP
stream.js 一个很小、完全独立的Javascript类库
2011/10/28 Javascript
JavaScript中“+”的陷阱深刻理解
2012/12/04 Javascript
javascript通过className来获取元素的简单示例代码
2014/01/10 Javascript
jQuery验证插件validate使用详解
2016/05/11 Javascript
JavaScript对Json的增删改属性详解
2016/06/02 Javascript
JavaScript实现点击文本自动定位到下拉框选中操作
2016/06/15 Javascript
解析vue中的$mount
2017/12/21 Javascript
vuejs+element UI点击编辑表格某一行时获取内容填入表单的示例
2018/10/31 Javascript
react MPA 多页配置详解
2019/10/18 Javascript
JavaScript实现京东快递单号查询
2020/11/30 Javascript
用javascript实现倒计时效果
2021/02/09 Javascript
python字符串编码识别模块chardet简单应用
2015/06/15 Python
Python实现的密码强度检测器示例
2017/08/23 Python
python基础while循环及if判断的实例讲解
2017/08/25 Python
详解python 3.6 安装json 模块(simplejson)
2019/04/02 Python
基于python的selenium两种文件上传操作实现详解
2019/09/19 Python
Pandas操作CSV文件的读写实现方法
2019/11/13 Python
Python字节单位转换实例
2019/12/05 Python
解决Pycharm 运行后没有输出的问题
2021/02/05 Python
荷兰在线体育用品商店:Avantisport.nl
2018/07/04 全球购物
英国在线购买轮胎、预订汽车、汽车维修和装配网站:Protyre
2020/04/12 全球购物
俄罗斯天然和有机产品、健康生活网上商店:Fitomarket.ru
2020/10/09 全球购物
项目申请汇报材料
2014/08/16 职场文书
个人遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
四风问题对照检查整改措施思想报告
2014/10/05 职场文书
党的群众路线教育实践活动个人批评与自我批评
2014/10/16 职场文书
小学老师对学生的评语
2014/12/29 职场文书
党支部评议意见
2015/06/02 职场文书
2015年基层党建工作汇报材料
2015/06/25 职场文书
小学英语教学反思范文
2016/02/15 职场文书
MySQL 慢查询日志深入理解
2021/04/22 MySQL
Python一行代码实现自动发邮件功能
2021/05/30 Python
python元组打包和解包过程详解
2021/08/02 Python