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文件右键找不到IDLE打开项解决办法
Jun 08 Python
Python语言描述KNN算法与Kd树
Dec 13 Python
python中的内置函数max()和min()及mas()函数的高级用法
Mar 29 Python
python去除拼音声调字母,替换为字母的方法
Nov 28 Python
梅尔频率倒谱系数(mfcc)及Python实现
Jun 18 Python
Python叠加两幅栅格图像的实现方法
Jul 05 Python
python 字典的打印实现
Sep 26 Python
在Python中等距取出一个数组其中n个数的实现方式
Nov 27 Python
谈一谈数组拼接tf.concat()和np.concatenate()的区别
Feb 07 Python
Python+Opencv身份证号码区域提取及识别实现
Aug 25 Python
Python 中如何使用 virtualenv 管理虚拟环境
Jan 21 Python
python上下文管理器异常问题解决方法
Feb 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
PHP中你应该知道的require()文件包含的正确用法
2015/06/12 PHP
分享php邮件管理器源码
2016/01/06 PHP
浅谈PHP实现大流量下抢购方案
2017/12/15 PHP
JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
2010/08/12 Javascript
jQuery动态添加 input type=file的实现代码
2012/06/14 Javascript
JavaScript中的关键字"VAR"使用详解 分享
2013/07/31 Javascript
返回上一页并自动刷新的JavaScript代码
2014/02/19 Javascript
一个JavaScript去除字符串末尾的空白实例代码
2014/09/22 Javascript
浅析javascript中的事件代理
2015/11/06 Javascript
jquery实现触发时更新下拉列表内容的方法
2015/12/02 Javascript
JS实现的几个常用算法
2016/11/12 Javascript
实现微信小程序的wxml文件和wxss文件在webstrom的支持
2017/06/12 Javascript
基于LayUI分页和LayUI laypage分页的使用示例
2017/08/02 Javascript
详解JavaScript添加给定的标签选项
2018/09/17 Javascript
微信小程序和百度的语音识别接口详解
2019/05/06 Javascript
在Python中使用sort()方法进行排序的简单教程
2015/05/21 Python
基于Python 装饰器装饰类中的方法实例
2018/04/21 Python
python获取代理IP的实例分享
2018/05/07 Python
Python通过调用有道翻译api实现翻译功能示例
2018/07/19 Python
python 将列表中的字符串连接成一个长路径的方法
2018/10/23 Python
python实现AES加密与解密
2019/03/28 Python
python实现淘宝购物系统
2019/10/25 Python
python修改文件内容的3种方法详解
2019/11/15 Python
python时间日期操作方法实例小结
2020/02/06 Python
TFRecord文件查看包含的所有Features代码
2020/02/17 Python
Python环境搭建过程从安装到Hello World
2021/02/05 Python
收集的7个CSS3代码生成工具
2010/04/17 HTML / CSS
纯css3制作的火影忍者写轮眼开眼至轮回眼及进化过程实例
2014/11/11 HTML / CSS
日本乐天官方海外转运服务:Rakuten Global Express
2018/11/30 全球购物
Vertbaudet西班牙网上商店:婴儿服装、童装、母婴用品和儿童家具
2019/10/16 全球购物
智能钱包:Ekster
2019/11/21 全球购物
2015选调生工作总结
2015/07/24 职场文书
初一数学教学反思
2016/02/17 职场文书
初中数学教学反思范文
2016/02/17 职场文书
详解在OpenCV中如何使用图像像素
2022/03/03 Python
Win10加载疑难解答时出错发生意外错误的解决方法
2022/07/07 数码科技