基于Redis的大key的检测方法、系统、设备及存储介质技术方案

技术编号:29101278 阅读:21 留言:0更新日期:2021-06-30 10:14
本发明专利技术提供了基于Redis的大key的检测方法、系统、设备及存储介质,该方法包括:获得Redis群集中检索内存占有率大于第一预设阈值且负载低于第二预设阈值的Redis服务器的内存快照;对内存快照根据预设属性进行巡检,将巡检后的结果存放到性能数仓;跟踪性能数仓中的所有key,筛选所占容量大于预设key所占容量阈值的key,生成告警邮件。本发明专利技术能够通过逻辑算法自动匹配Redis群集分片,可按照时间顺序进行优先检查,将数据存储于数据仓库保证数据安全性,定时推送邮件至相关owner或使用人员,实时了解Redis的bigkey状况,并进行相应调整,从而提高Redis的稳定性和提高工作效率。而提高Redis的稳定性和提高工作效率。而提高Redis的稳定性和提高工作效率。

【技术实现步骤摘要】
基于Redis的大key的检测方法、系统、设备及存储介质


[0001]本专利技术涉及账单自动生成领域,具体地说,涉及基于Redis的大key的检测方法、系统、设备及存储介质。

技术介绍

[0002]Redis(Remote Dictionary Server),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key

Value数据库,并提供多种语言的API。
[0003]Redis(是一个key

value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set
‑‑
有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,Redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master

slave(主从)同步。
[0004]Redis是一个高性能的key

value数据库。Redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object

C,Python,Ruby,Erlang等客户端,使用很方便。
[0005]Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。
[0006]Redis中bigkey指的是Redis中key对应的value值很大。操作bigKey通常比较耗时,也就意味着阻塞Redis可能性越大。所以,就需要把bigKey提早检查出来,避免影响线上生产。Redis客户端自带有查询bigkey功能,会在线遍历服务器中全部key,遍历期间很消耗服务器资源,给生产环境造成性能影响,且客户端自带的bigkey检索每次只会检查出各种类型的最大key,无法查看更多Bigkey,不能满足生产环境bigkey检查需求。
[0007]因此,本专利技术提供了一种基于Redis的大key的检测方法、系统、设备及存储介质。

技术实现思路

[0008]针对现有技术中的问题,本专利技术的目的在于提供基于Redis的大key的检测方法、系统、设备及存储介质,克服了现有技术的困难,能够通过逻辑算法自动匹配Redis群集分片,可按照时间顺序进行优先检查,将数据存储于数据仓库保证数据安全性,定时推送邮件至相关owner或使用人员,实时了解Redis的bigkey(大key)状况,并进行相应调整,从而提
高Redis的稳定性和提高工作效率。
[0009]本专利技术的实施例提供一种基于Redis的大key的检测方法,包括以下步骤:
[0010]S110、获得Redis群集中检索内存占有率大于第一预设阈值且负载低于第二预设阈值的Redis服务器的内存快照;
[0011]S120、对所述内存快照根据预设属性进行巡检,将巡检后的结果存放到性能数仓;
[0012]S130、跟踪所述性能数仓中的所有key,筛选所述key的阈值大于预设key所占容量的所述key,生成告警邮件。
[0013]优选地,在步骤S120中,通过预设key的前缀对所述内存快照中包含的key进行巡检,将满足预设key的前缀的key存放到性能数仓中。
[0014]优选地,在步骤S120中,通过预设key的后缀对所述内存快照中包含的key进行巡检,将满足预设key的后缀的key存放到性能数仓中。
[0015]优选地,在步骤S120中,通过预设key所占容量对所述内存快照中包含的key进行巡检,将大于预设key所占容量的key存放到性能数仓中。
[0016]优选地,在步骤S120中,将同时满足预设key的前缀、后缀以及大于预设key所占容量的key存放到性能数仓中。
[0017]优选地,所述步骤S130中,实时更新所述性能数仓。
[0018]优选地,所述预设key所占容量为所述预设key的字节数,所述步骤S130之后还包括步骤S140中,根据所述预设key的字节数拆分所述key为多个子key。
[0019]本专利技术的实施例还提供一种基于Redis的大key的检测系统,用于实现上述的基于Redis的大key的检测方法,所述基于Redis的大key的检测系统包括:
[0020]内存快照模块,获得Redis群集中检索内存占有率大于第一预设阈值且负载低于第二预设阈值的Redis服务器的内存快照;
[0021]性能数仓模块,对所述内存快照根据预设属性进行巡检,将巡检后的结果存放到性能数仓;
[0022]监控告警模块,跟踪所述性能数仓中的所有key,筛选所述key的阈值大于预设key所占容量的所述key,生成告警邮件。
[0023]优选地,还包括key更新模块,根据所述预设key的字节数拆分所述key为多个子key。
[0024]本专利技术的实施例还提供一种基于Redis的大key的检测设备,包括:
[0025]处理器;
[0026]存储器,其中存储有所述处理器的可执行指令;
[0027]其中,所述处理器配置为经由执行所述可执行指令来执行上述基于Redis的大key的检测方法的步骤。
[0028]本专利技术的实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被执行时实现上述基于Redis的大key的检测方法的步骤。
[0029]本专利技术的目的在于提供基于Redis的大key的检测方法、系统、设备及存储介质,能够通过逻辑算法自动匹配Redis群集分片,可按照时间顺序进行优先检查,将数据存储于数据仓库保证数据安全性,定时推送邮件至相关owner或使用人员,实时了解Redis的bigkey(大key)状况,并进行相应调整,从而提高Redis的稳定性和提高工作效率。
附图说明
[0030]通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显。
[0031]图1是本专利技术的基于Redis的大key的检测方法的流程图。
[0032]图2是本专利技术的基于Redis的大key的检测方法的实施过程示意图。
[0033]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Redis的大key的检测方法,其特征在于,包括以下步骤:S110、获得Redis群集中检索内存占有率大于第一预设阈值且负载低于第二预设阈值的Redis服务器的内存快照;S120、对所述内存快照根据预设属性进行巡检,将巡检后的结果存放到性能数仓;S130、跟踪所述性能数仓中的所有key,筛选所述key的阈值大于预设key所占容量的所述key,生成告警邮件。2.根据权利要求1所述的基于Redis的大key的检测方法,其特征在于,在步骤S120中,通过预设key的前缀对所述内存快照中包含的key进行巡检,将满足预设key的前缀的key存放到性能数仓中。3.根据权利要求1所述的基于Redis的大key的检测方法,其特征在于,在步骤S120中,通过预设key的后缀对所述内存快照中包含的key进行巡检,将满足预设key的后缀的key存放到性能数仓中。4.根据权利要求1所述的基于Redis的大key的检测方法,其特征在于,在步骤S120中,通过预设key所占容量对所述内存快照中包含的key进行巡检,将大于预设key所占容量的key存放到性能数仓中。5.根据权利要求2至4中任意一项所述的基于Redis的大key的检测方法,其特征在于,在步骤S120中,将同时满足预设key的前缀、后缀以及大于预设key所占容量的key存放到性能数仓中。6...

【专利技术属性】
技术研发人员:卢永康
申请(专利权)人:携程旅游网络技术上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1