获取key的方法及装置制造方法及图纸

技术编号:17917526 阅读:95 留言:0更新日期:2018-05-10 21:23
本发明专利技术公开一种获取key的方法及装置,涉及数据处理技术领域,能够解决现有技术中获取redis集群中的所有key效率低的问题。本发明专利技术的方法主要包括:基于shell命令连接redis集群中的目标节点,所述目标节点为根据预设连接顺序确定的、待查询的所有节点中未连接过的节点;控制所述目标节点执行用于查询当前节点中所有key的查询命令;在获得所述目标节点查询到的key后,与所述目标节点断开连接,并继续根据所述预设连接顺序,基于所述shell命令连接其他未连接过的节点,直至获取待查询的所有节点中的key为止。本发明专利技术主要适用于基于redis集群查询key的场景中。

【技术实现步骤摘要】
获取key的方法及装置
本专利技术涉及数据处理
,特别是涉及一种获取key的方法及装置。
技术介绍
重申(redis)是一个key-value型存储系统,主要分为主从模式和集群模式两种。其中,主从模式中的每个节点都存储有所有的key,而集群模式中的每个节点只存储有部分key,且所有节点中key的组合构成了整个集群中的所有key。当需要查询redis集群中的所有key时,需要用户一次次地手动登录每个节点的redis-cli客户端,然后使用keys*命令获取当前节点中的所有key,直至手动登录最后一个节点,并获得该节点中的所有key时,才能获得整个redis集群中的所有key,效率很低。
技术实现思路
有鉴于此,本专利技术提供获取key的方法及装置,能够解决现有技术中获取redis集群中的所有key效率低的问题。第一方面,本专利技术提供了一种获取key的方法,所述方法包括:基于shell命令连接redis集群中的目标节点,所述目标节点为根据预设连接顺序确定的、待查询的所有节点中未连接过的节点;控制所述目标节点执行用于查询当前节点中所有key的查询命令;在获得所述目标节点查询到的key后,与所述目标节点断开连接,并继续根据所述预设连接顺序,基于所述shell命令连接其他未连接过的节点,直至获取待查询的所有节点中的key为止。第二方面,本专利技术提供了一种获取key的装置,所述装置包括:连接单元,用于基于shell命令连接redis集群中的目标节点,所述目标节点为根据预设连接顺序确定的、待查询的所有节点中未连接过的节点;控制单元,用于控制所述目标节点执行用于查询当前节点中所有key的查询命令;断开单元,用于在获得所述目标节点查询到的key后,与所述目标节点断开连接;所述连接单元还用于继续根据所述预设连接顺序,基于所述shell命令连接其他未连接过的节点,直至所述获取单元获取待查询的所有节点中的key为止。第三方面,本专利技术提供了一种存储介质,所述存储介质存储有多条指令,所述指令适用于由处理器加载并执行如第一方面所述的获取key的方法。第四方面,本专利技术提供了一种电子设备,所述电子设备包括存储介质和处理器;所述处理器,适于实现各指令;所述存储介质,适于存储多条指令;所述指令适于由所述处理器加载并执行如第一方面所述的获取key的方法。借由上述技术方案,本专利技术提供的获取key的方法及装置,能够在获取redis集群中所有key时,无需花费大量时间通过人工一次次手动登录每个节点的redis-cli客户端来获取每个节点中的key,只需通过shell命令按照预设连接顺序依次自动连接redis集群中待查询的每个节点,并在连接上某个节点后,通过控制该节点执行用于查询当前节点中所有key的查询命令来获取该节点中的所有key,在获取该节点中的所有key后,与该节点断开连接,以便能够继续连接下一个节点,直至获取待查询的所有节点中的key为止,从而实现自动获取redis集群中的所有key的功能,进而提高了获取key的效率。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了本专利技术实施例提供的一种获取key的方法的流程图;图2示出了本专利技术实施例提供的另一种获取key的方法的流程图;图3示出了本专利技术实施例提供的一种获取key的装置的组成框图;图4示出了本专利技术实施例提供的另一种获取key的装置的组成框图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。为了提高获取key的效率,本专利技术实施例提供了一种获取key的方法,如图1所示,所述方法包括:101、基于shell命令连接redis集群中的目标节点。其中,所述目标节点为根据预设连接顺序确定的、待查询的所有节点中未连接过的节点,其中待查询的所有节点可以是redis集群中的所有节点,可以是redis集群中的部分节点,可以根据需求而定。由于redis集群中的节点信息可以根据人工查询而得,也可以自动查询而得,所以预设连接顺序可以是预先根据节点标识进行人工排列的顺序,也可以是自动查询结果中默认的顺序,也可以是在获得所有节点信息后按照预设规则排列的顺序。102、控制所述目标节点执行用于查询当前节点中所有key的查询命令。其中,用于查询当前节点中所有key的查询命令可以为keys*命令。当当前设备成功连接到目标节点后,可以控制目标节点执行keys*命令,以便目标节点利用keys*命令能够查询到当前节点中存储的所有key。另外,当目标节点查询到其中所有key之后,可以通过shell命令让目标节点将查询到的所有key反馈给当前设备,使得当前设备能够获得目标节点中的所有key。103、在获得所述目标节点查询到的key后,与所述目标节点断开连接,并继续根据所述预设连接顺序,基于所述shell命令连接其他未连接过的节点,直至获取待查询的所有节点中的key为止。由于在实际应用中当前设备只能同时连接一个节点,所以在获得目标节点查询到的key后,可以与该目标节点断开连接,以便能够继续基于shell命令来连接根据预设连接顺序确定的下一个目标节点。本专利技术实施例提供的获取key的方法,能够在获取redis集群中所有key时,无需花费大量时间通过人工一次次手动登录每个节点的redis-cli客户端来获取每个节点中的key,只需通过shell命令按照预设连接顺序依次自动连接redis集群中待查询的每个节点,并在连接上某个节点后,通过控制该节点执行用于查询当前节点中所有key的查询命令来获取该节点中的所有key,在获取该节点中的所有key后,与该节点断开连接,以便能够继续连接下一个节点,直至获取待查询的所有节点中的key为止,从而实现自动获取redis集群中的所有key的功能,进而提高了获取key的效率。进一步的,依据图1所示的方法,本专利技术的另一个实施例还提供了一种获取key的方法,如图2所示,该方法主要包括:201、基于shell命令连接redis集群中的目标节点。其中,连接目标节点的一种实现方式为登录目标节点的redis-cli客户端,即当成功登录目标节点的redis-cli客户端时,就成功连接上目标节点。在实际应用中,可以通过向目标节点发送用户名和密码的形式登录redis-cli客户端,也可以通过直接申请访问目标节点的特定接口(如redis-cli客户端与外界进行通信的接口)的形式登录redis-cli客户端。因此,基于shell命令连接redis集群中的目标节点的具体实现方式可以为:基于shell命令,通过访问特定接口或者使用账号登录信息的方式登本文档来自技高网...
获取key的方法及装置

【技术保护点】
一种获取key的方法,其特征在于,所述方法包括:基于shell命令连接redis集群中的目标节点,所述目标节点为根据预设连接顺序确定的、待查询的所有节点中未连接过的节点;控制所述目标节点执行用于查询当前节点中所有key的查询命令;在获得所述目标节点查询到的key后,与所述目标节点断开连接,并继续根据所述预设连接顺序,基于所述shell命令连接其他未连接过的节点,直至获取待查询的所有节点中的key为止。

【技术特征摘要】
1.一种获取key的方法,其特征在于,所述方法包括:基于shell命令连接redis集群中的目标节点,所述目标节点为根据预设连接顺序确定的、待查询的所有节点中未连接过的节点;控制所述目标节点执行用于查询当前节点中所有key的查询命令;在获得所述目标节点查询到的key后,与所述目标节点断开连接,并继续根据所述预设连接顺序,基于所述shell命令连接其他未连接过的节点,直至获取待查询的所有节点中的key为止。2.根据权利要求1所述的方法,其特征在于,在基于shell命令连接redis集群中的目标节点之前,所述方法还包括:获取预先查询到的redis集群的所有节点;或者基于shell命令获取redis集群中的所有节点。3.根据权利要求1所述的方法,其特征在于,所述基于shell命令连接redis集群中的目标节点包括:基于shell命令,通过访问特定接口或者使用账号登录信息的方式登录所述redis集群中所述目标节点的redis-cli客户端,以连接所述目标节点。4.根据权利要求1至3中任一项所述的方法,其特征在于,所述控制所述目标节点执行用于查询当前节点中所有key的查询命令包括:控制所述目标节点获取并执行由EOF命令封装的查询命令。5.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:在获得每个节点的key后,基于预设查询需求对获得的key进行处理,并输出与所述预设查询需求对应的查询结果;或者,在获得每个节点的key后,将每个节点的key传送给第三方程序,以便所述第三方程序基于所述预设查询需求对获得的key进行处理,并输出与所述预设查询需求对应的查询结果。6.一种获取key的装置,其特征在于,所述装置包括:连接单元,用于基于shell命令连接redis集群中的目标节点,所述目标节点为根据预设连接顺序确定的、待查询的所有节点中未连接过的节点...

【专利技术属性】
技术研发人员:马东辉周明珠
申请(专利权)人:北京车和家信息技术有限责任公司
类型:发明
国别省市:北京,11

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

1