广告
返回顶部
首页 > 资讯 > 数据库 >redis中bigkey扫描脚本的示例分析
  • 916
分享到

redis中bigkey扫描脚本的示例分析

2024-04-02 19:04:59 916人浏览 薄情痞子
摘要

这篇文章给大家分享的是有关Redis中bigkey扫描脚本的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。我对这个脚本进行了一个压力测试,在redis的内存为15G,ke

这篇文章给大家分享的是有关Redis中bigkey扫描脚本的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

我对这个脚本进行了一个压力测试,在redis的内存为15G,key的数量为2KW,ops为40K到80K之间,在这种情况下,阿里云的脚本完全不能跑成功(估计跑出来的时间以天为单位),主要原因是每确认一个key的情况,就需要与redis交互多次。因此,我对它的脚本进行了改造,加入了pipeline和debug object方法,脚本如下:

import sys
import redis
 
 
def find_big_key_nORMal(db_host, db_port, db_passWord, db_num):
 client = redis.StrictRedis(host=db_host, port=db_port, password=db_password, db=db_num)
 i=0
 temp = client.scan(cursor=i,count=1000)
 j =0
 while temp[0]>0 :
 i=temp[0]
 j=j+len(temp[1])
 try:
  r = client.pipeline(transaction=False)
  for k in temp[1]:
  r.debug_object(k)
  tempA = r.execute()
  x = 0
  for key in tempA:
  length = key.get("serializedlength")
  ##type = key.get("encoding")
  if length > 10240 :
   type = client.type(temp[1][x])
   print temp[1][x], type,length
  x=x+1
 except :
  print "a execption come"
 temp = client.scan(cursor=i,count=1000)
 
 
if __name__ == '__main__':
 if len(sys.argv) != 4:
  print 'Usage: python ', sys.argv[0], ' host port password '
  exit(1)
 db_host = sys.argv[1]
 db_port = sys.argv[2]
 db_password = sys.argv[3]
 r = redis.StrictRedis(host=db_host, port=int(db_port), password=db_password)
 nodecount = 1
 keyspace_info = r.info("keyspace")
 for db in keyspace_info:
 print 'check ', db, ' ', keyspace_info[db]
 find_big_key_normal(db_host, db_port, db_password, db.replace("db", ""))

我对上面的脚本同样进行了一个压力测试,在redis的内存为15G,key的数量为2KW,ops为40K到80K之间,在这种情况下:

脚本10分钟跑完,完全可用。

感谢各位的阅读!关于“redis中bigkey扫描脚本的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

您可能感兴趣的文档:

--结束END--

本文标题: redis中bigkey扫描脚本的示例分析

本文链接: https://www.lsjlt.com/news/57728.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • redis中bigkey扫描脚本的示例分析
    这篇文章给大家分享的是有关redis中bigkey扫描脚本的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。我对这个脚本进行了一个压力测试,在redis的内存为15G,ke...
    99+
    2022-10-18
  • Redis使用lua脚本的案例分析
    这篇文章主要介绍了Redis使用lua脚本的案例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。版本:自2.6.0起可用。时间复杂度:取决...
    99+
    2022-10-18
  • HTML脚本使用的示例分析
    小编给大家分享一下HTML脚本使用的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!JavaScript 使 HTML 页...
    99+
    2022-10-19
  • Shell脚本编程的示例分析
    这篇文章给大家分享的是有关Shell脚本编程的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。什么是Shell脚本Shell脚本(英语:Shell script),又称Shell命令稿、程序化脚本,是一种电...
    99+
    2023-06-09
  • Oracle查询脚本的示例分析
    这篇文章将为大家详细讲解有关Oracle查询脚本的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 --查询回滚段信息selec ...
    99+
    2022-10-19
  • mysql脚本安装的示例分析
    这篇文章主要为大家展示了“mysql脚本安装的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql脚本安装的示例分析”这篇文章吧。 ...
    99+
    2022-10-18
  • HTML脚本元素的示例分析
    这篇文章将为大家详细讲解有关HTML脚本元素的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 该<script>元素用于定义客户端脚本,例如HTML...
    99+
    2022-10-19
  • Linux启动脚本的示例分析
    这篇文章主要介绍Linux启动脚本的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!redhat的启动方式和执行次序是:加载内核执行init程序/etc/rc.d/rc.sysinit # 由init执行的**...
    99+
    2023-06-17
  • WMI_Vbs脚本编程的示例分析
    这篇文章主要介绍WMI_Vbs脚本编程的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!WMI就是Microsoft Windows Management Instrumentation 。中文名字叫Windo...
    99+
    2023-06-08
  • VBS.Runauto脚本病毒的示例分析
    这篇文章给大家分享的是有关VBS.Runauto脚本病毒的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。最近一位同事的笔记本遭遇了这个病毒,正好这学期在给计算机专业的同学们上VBscript于是顺便分析了...
    99+
    2023-06-08
  • vbs脚本病毒的示例分析
    这篇文章给大家分享的是有关vbs脚本病毒的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、前言病毒课老师丢给我们一份加密过的vbs脚本病毒的代码去尝试分析,这里把分析过程发出来,供大家参考二、目录整个分...
    99+
    2023-06-08
  • Shell脚本中Fork炸弹的示例分析
    这篇文章主要介绍了Shell脚本中Fork炸弹的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。fork炸弹介绍众所周知,bash是一款极其强大的shell,提供了强大...
    99+
    2023-06-09
  • Shell脚本中调用另一个Shell脚本的示例分析
    小编给大家分享一下Shell脚本中调用另一个Shell脚本的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!主要以下有几种方式:CommandExplana...
    99+
    2023-06-09
  • 实现shell脚本nicenumber的示例分析
    这篇文章给大家分享的是有关实现shell脚本nicenumber的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Given a number, shows it in comma-separated fo...
    99+
    2023-06-09
  • shell脚本自动化的示例分析
    这篇文章主要介绍shell脚本自动化的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!将某文件远程拷贝到指定ip机器上的指定目录下:./scp_file.sh /tmp/xx....
    99+
    2022-10-19
  • BAT批处理脚本的示例分析
    这篇文章主要为大家展示了“BAT批处理脚本的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“BAT批处理脚本的示例分析”这篇文章吧。第一章 批处理基础第一节 常用批处理内部命令简介批处理定...
    99+
    2023-06-08
  • w3c中初级脚本算法的示例分析
    这篇文章主要介绍w3c中初级脚本算法的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、翻转字符串先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,最后把数组...
    99+
    2022-10-19
  • Redis中Cluster的示例分析
    小编给大家分享一下Redis中Cluster的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.1 Redis-Clus...
    99+
    2022-10-18
  • Redis中Redlock的示例分析
    这篇文章主要介绍了Redis中Redlock的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。为什么要用锁我待过的一家k12教育公司,...
    99+
    2022-10-19
  • PostgreSQL索引扫描成本估算中的函数分析
    这篇文章主要介绍“PostgreSQL索引扫描成本估算中的函数分析”,在日常操作中,相信很多人在PostgreSQL索引扫描成本估算中的函数分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作