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函数中定义参数的四种方式
Nov 30 Python
Python使用os.listdir()和os.walk()获取文件路径与文件下所有目录的方法
Apr 01 Python
python 计算平均平方误差(MSE)的实例
Jun 29 Python
python正则-re的用法详解
Jul 28 Python
python3.6 tkinter实现屏保小程序
Jul 30 Python
np.newaxis 实现为 numpy.ndarray(多维数组)增加一个轴
Nov 30 Python
Python 实现递归法解决迷宫问题的示例代码
Jan 12 Python
如何基于python实现归一化处理
Jan 20 Python
Django自关联实现多级联动查询实例
May 19 Python
Keras中的多分类损失函数用法categorical_crossentropy
Jun 11 Python
Python中Selenium库使用教程详解
Jul 23 Python
想学画画?python满足你!
Dec 24 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获取数组中键值最大数组项的索引值
2015/03/17 PHP
PHP的serialize序列化数据以及JSON格式化数据分析
2015/10/10 PHP
PHP实现带重试功能的curl连接示例
2016/07/28 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
jQuery 学习 几种常用方法
2009/06/11 Javascript
Jquery 1.42 checkbox 全选和反选代码
2010/03/27 Javascript
jQuery过滤选择器:not()方法使用介绍
2014/04/20 Javascript
构造函数+原型模式构造js自定义对象(最通用)
2014/05/12 Javascript
jquery中append()与appendto()用法分析
2014/11/14 Javascript
通过XMLHttpRequest和jQuery实现ajax的几种方式
2015/08/28 Javascript
微信小程序 数据访问实例详解
2016/10/08 Javascript
bootstrap监听滚动实现头部跟随滚动
2016/11/08 Javascript
基于jQuery实现左侧菜单栏可折叠功能
2016/12/27 Javascript
如何获取元素的最终background-color
2017/02/06 Javascript
javascript读取本地文件和目录方法详解
2020/08/06 Javascript
JavaScript async/await原理及实例解析
2020/12/02 Javascript
[01:02:48]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 LGD vs OG
2018/04/02 DOTA
python使用in操作符时元组和数组的区别分析
2015/05/19 Python
django序列化serializers过程解析
2019/12/14 Python
Iconfont(矢量图标)+iconmoon(图标svg互转)配合javascript实现社交分享系统
2020/04/21 Python
Tensorflow加载Vgg预训练模型操作
2020/05/26 Python
Vs Code中8个好用的python 扩展插件
2020/10/12 Python
python 装饰器重要在哪
2021/02/14 Python
CSS3制作轮播图的一种方法
2019/11/11 HTML / CSS
有关HTML5页面在iPhoneX适配问题
2017/11/13 HTML / CSS
Hoover胡佛官网:美国吸尘器和洗地机品牌
2019/01/09 全球购物
Myprotein俄罗斯官网:欧洲第一运动营养品牌
2019/05/05 全球购物
公司人力资源的自我评价
2014/01/02 职场文书
商场中秋节广播稿
2014/01/17 职场文书
安全生产月演讲稿
2014/05/09 职场文书
课前一分钟演讲稿
2014/08/26 职场文书
优秀校长事迹材料
2014/12/24 职场文书
2015年行政工作总结范文
2015/04/09 职场文书
2015年度村委会工作总结
2015/04/29 职场文书
幼儿体育课教学反思
2016/02/16 职场文书
Nginx快速入门教程
2021/03/31 Servers