The invention provides a multi key value command processing method and system based on redis cluster. The multi-key command processing method based on redis cluster includes: determining the hash slot corresponding to the key value according to the key value; obtaining the mapping relationship between the hash slot and the node information; obtaining the node information according to the hash slot and mapping relationship; determining the database connection pool according to the node information; obtaining the jedis instance object from the database connection pool; Handles multiple key values on jedis instance objects. The invention supports processing multi-key commands on a jedis instance object and only needs an application program interface, which is convenient for calling business modules and has high availability.
【技术实现步骤摘要】
基于redis集群的多键值命令处理方法及系统
本专利技术涉及通信
,具体地,涉及一种基于redis集群的多键值命令处理方法及系统。
技术介绍
Redis在3.0版正式引入了集群(Cluster)这个特性,令扩展变得非常简单。但Redis集群并不支持处理多键值命令,比如pipeline命令。因为这需要在不同的节点间移动数据,因此达不到像Redis那样的性能,在高负载的情况下可能会导致不可预料的错误。
技术实现思路
本专利技术实施例的主要目的在于提供一种基于redis集群的多键值命令处理方法及系统,以支持处理多键值命令,方便业务模块进行调用。为了实现上述目的,本专利技术实施例提供一种基于redis集群的多键值命令处理方法,包括:根据键值确定键值对应的哈希槽;获取哈希槽与节点信息的映射关系;根据哈希槽和映射关系获取节点信息;根据节点信息确定数据库连接池;从数据库连接池中获取jedis实例对象;在jedis实例对象上处理多键值命令。在其中一种实施例中,节点信息包括:主节点的ip地址、主节点的端口地址、从节点的ip地址和从节点的端口地址。在其中一种实施例中,根据节点信息确定数据库连接池,具体包括:当未收到jedis连接异常信息时,根据主节点的ip地址和主节点的端口地址确定数据库连接池。在其中一种实施例中,根据节点信息确定数据库连接池,具体包括:当收到jedis连接异常信息时,根据从节点的ip地址和从节点的端口地址确定数据库连接池。在其中一种实施例中,从数据库连接池中获取jedis实例对象之后,还包括:使用类型检测命令判断jedis实例对象是否正确;当jedis实例 ...
【技术保护点】
1.一种基于redis集群的多键值命令处理方法,其特征在于,包括:根据键值确定所述键值对应的哈希槽;获取哈希槽与节点信息的映射关系;根据所述哈希槽和所述映射关系获取节点信息;根据所述节点信息确定数据库连接池;从所述数据库连接池中获取jedis实例对象;在所述jedis实例对象上处理多键值命令。
【技术特征摘要】
1.一种基于redis集群的多键值命令处理方法,其特征在于,包括:根据键值确定所述键值对应的哈希槽;获取哈希槽与节点信息的映射关系;根据所述哈希槽和所述映射关系获取节点信息;根据所述节点信息确定数据库连接池;从所述数据库连接池中获取jedis实例对象;在所述jedis实例对象上处理多键值命令。2.根据权利要求1所述的基于redis集群的多键值命令处理方法,其特征在于,所述节点信息包括:主节点的ip地址、主节点的端口地址、从节点的ip地址和从节点的端口地址。3.根据权利要求2所述的基于redis集群的多键值命令处理方法,其特征在于,所述根据所述节点信息确定数据库连接池,具体包括:当未收到jedis连接异常信息时,根据所述主节点的ip地址和所述主节点的端口地址确定数据库连接池。4.根据权利要求2所述的基于redis集群的多键值命令处理方法,其特征在于,所述根据所述节点信息确定数据库连接池,具体包括:当收到jedis连接异常信息时,根据所述从节点的ip地址和所述从节点的端口地址确定数据库连接池。5.根据权利要求1所述的基于redis集群的多键值命令处理方法,其特征在于,所述从所述数据库连接池中获取jedis实例对象之后,还包括:使用类型检测命令判断所述jedis实例对象是否正确;当所述jedis实例对象不正确时,生成jedis数据移动异常信息,所述数据移动异常信息包括正确的节点信息;根据所述正确的节点信息确定正确的数据库连接池;从所述正确的数据库连接池中获取正确的jedis实例对象。6.一种基于redis集群的多键值命令处理系统,其特征在于,包括:哈希槽确定单元,用于根据键值确定所述键值对应的哈希槽;映射关系获取单元,用于获取哈希槽与节点信息的映射关系;节点信息获取单元,用于根据所述哈希槽和所述映射关系获取节点信息;数据库连接池确定单元,用于根据所述节点信息确定数据库连接池;jedis实例对象获取单元,用于从所述数据库连接池中获取jedis实例对象;多键值命令处理单元...
【专利技术属性】
技术研发人员:黄河峰,
申请(专利权)人:中国银行股份有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。