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中几种操作字符串的方法的介绍
Apr 09 Python
浅谈python jieba分词模块的基本用法
Nov 09 Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
Aug 13 Python
使用python去除图片白色像素的实例
Dec 12 Python
基于Pycharm加载多个项目过程图解
Jan 19 Python
如何基于python实现不邻接植花
May 01 Python
Python configparser模块常用方法解析
May 22 Python
Python安装Bs4的多种方法
Nov 28 Python
如何用 Python 处理不平衡数据集
Jan 04 Python
详解python的xlwings库读写excel操作总结
Feb 26 Python
深入浅析python3 依赖倒置原则(示例代码)
Jul 09 Python
Django路由层如何获取正确的url
Jul 15 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
1.PHP简介
2006/10/09 PHP
判断是否为指定长度内字符串的php函数
2010/02/16 PHP
PHP json_encode中文乱码问题的解决办法
2013/09/09 PHP
PHP四大安全策略
2014/03/12 PHP
php将日期格式转换成xx天前的格式
2015/04/16 PHP
Nginx服务器上安装并配置PHPMyAdmin的教程
2015/08/18 PHP
Yii2实现让关联字段支持搜索功能的方法
2016/08/10 PHP
jquery下onpropertychange事件的绑定方法
2010/08/01 Javascript
jQuery表单验证插件formValidator(改进版)
2012/02/03 Javascript
JS中Iframe之间传值及子页面与父页面应用
2013/03/11 Javascript
用jQuery实现的智能隐藏、滑动效果的返回顶部代码
2014/03/18 Javascript
如何书写高质量jQuery代码(使用jquery性能问题)
2014/06/30 Javascript
javascript中var的重要性分析
2015/02/11 Javascript
javaScript中push函数用法实例分析
2015/06/08 Javascript
微信小程序getPhoneNumber获取用户手机号
2017/09/29 Javascript
详解在网页上通过JS实现文本的语音朗读
2019/03/28 Javascript
vue 导航菜单刷新状态不消失,显示对应的路由界面操作
2020/08/06 Javascript
Ant Design Pro 之 ProTable使用操作
2020/10/31 Javascript
[01:06:26]全国守擂赛第二周 Team Coach vs DeMonsTer
2020/04/28 DOTA
python实现数独算法实例
2015/06/09 Python
Django开发中复选框用法示例
2018/03/20 Python
在numpy矩阵中令小于0的元素改为0的实例
2019/01/26 Python
利用python如何在前程无忧高效投递简历
2019/05/07 Python
使用遗传算法求二元函数的最小值
2020/02/11 Python
Python中求对数方法总结
2020/03/10 Python
利用python实现平稳时间序列的建模方式
2020/06/03 Python
python中time包实例详解
2021/02/02 Python
浅谈HTML5 Web Worker的使用
2018/01/05 HTML / CSS
大学生求职自荐信
2013/12/12 职场文书
2013年军训通讯稿
2014/02/05 职场文书
高中军训感言800字
2014/03/05 职场文书
助人为乐道德模范事迹材料
2014/08/16 职场文书
微笑面对生活演讲稿
2014/09/23 职场文书
《最后一头战象》教学反思
2016/02/16 职场文书
导游词书写之黄山
2019/08/06 职场文书
MySQL8.0无法启动3534的解决方法
2021/06/03 MySQL