CN110445835B - Redis服务器连接方法、装置、计算机设备和存储介质 - Google Patents
Redis服务器连接方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN110445835B CN110445835B CN201910595930.9A CN201910595930A CN110445835B CN 110445835 B CN110445835 B CN 110445835B CN 201910595930 A CN201910595930 A CN 201910595930A CN 110445835 B CN110445835 B CN 110445835B
- Authority
- CN
- China
- Prior art keywords
- node
- redis server
- configuration information
- information
- node configuration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请揭示了一种Redis服务器连接方法、装置、计算机设备和存储介质,方法包括:获取节点配置文件,其中,节点配置文件包含Redis服务器的节点配置信息;从节点配置文件中提取节点配置信息,其中,节点配置信息包括各个节点的节点信息;根据节点配置信息判断Redis服务器的类型;按照与Redis服务器的类型对应的预设方式解析节点配置信息,获取Redis服务器对应的每个节点的节点信息;根据各个节点的节点信息,建立与全部节点的连接,以完成与Redis服务器的连接。本申请可以适用于不同类型的Redis服务器,无需开发人员根据Redis服务器的类型来修改客户端与Redis服务器的连接配置,大大减少了开发人员的工作量。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种Redis服务器连接方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,尤其是在进入互联网时代后,互联网业务得到飞速发展。随着互联网业务产生的是庞大的数据信息,例如,随着人脸识别技术的发展,有越来越多的领域使用到人脸识别,与人脸识别对应的数据库中存储了大量的数据信息。根据使用场景的不同,有的人脸数据库的规模比较大,在处理时需要用到集群的Redis服务器;而有的人脸数据库的规模比较小,则使用非集群的Redis服务器即可。在目前默认的配置中,客户端对于集群和非集群的Redis服务器的连接方法不同。因此,同一个人脸识别系统(包括客户端和Redis服务器)无法同时适用于集群或非集群的Redis服务器。开发人员需要根据人脸识别系统对应的实际使用场景的数据库规模,确定需要使用集群还是非集群的Redis服务器进行数据处理,再根据Redis服务器的类型来修改客户端与Redis服务器的连接配置,这大大增加了开发人员的工作量。
发明内容
本申请的主要目的为提供一种Redis服务器连接方法、装置、计算机设备和存储介质,旨在解决现有技术中,客户端连接不同类型的Redis服务器时,无法使用相同的连接配置的问题。
本申请提出一种Redis服务器连接方法,应用于客户端,所述方法包括:
获取节点配置文件,其中,所述节点配置文件包含Redis服务器的节点配置信息;
从所述节点配置文件中提取所述节点配置信息,其中,所述节点配置信息包括各个节点的节点信息;
根据所述节点配置信息判断所述Redis服务器的类型;
按照与所述Redis服务器的类型对应的预设方式解析所述节点配置信息,获取所述Redis服务器对应的每个节点的节点信息;
根据各个所述节点的节点信息,建立与全部所述节点的连接,以完成与Redis服务器的连接。
进一步地,所述Redis服务器的类型包括集群和非集群,所述根据所述节点配置信息判断所述Redis服务器的类型的步骤,包括:
解析所述节点配置信息,得到所述Redis服务器所包含的节点数目;
判断所述节点数目是否大于1;
若是,则判定所述Redis服务器的类型为所述集群;
若否,则判定所述Redis服务器的类型为所述非集群。
进一步地,所述解析所述节点配置信息,得到所述Redis服务器所包含的节点数目的步骤,包括:
获取所述节点配置信息中包含的第一预设分隔符号的数目;
根据所述第一预设分隔符号的数目计算所述Redis服务器所包含的所述节点数目。
进一步地,所述根据所述第一预设分隔符号的数目计算所述Redis服务器所包含的所述节点数目的步骤,包括:
将所述第一预设分隔符号的数目加1,以得到所述节点数目。
进一步地,所述节点信息包括节点IP和节点端口,所述按照与所述Redis服务器的类型对应的预设方式解析所述节点配置信息,获取所述Redis服务器对应的每个节点的节点信息的步骤,包括:
当所述Redis服务器的类型为集群时,则根据所述第一预设分隔符号,从所述节点配置信息中提取所述Redis服务器包含的每个所述节点的单节点配置信息,其中,相邻的两个所述单节点配置信息之间设置所述第一预设分隔符号;
分别从每个所述单节点配置信息中提取每个所述节点的节点IP和节点端口,其中,所述节点IP和所述节点端口之间设置第二预设分隔符号,将位于各个所述第二预设分隔符号前的信息分别作为各个所述节点的节点IP,以及将位于各个所述第二预设分隔符号后的信息分别作为各个所述节点的节点端口。
进一步地,所述节点信息包括节点IP和节点端口,所述按照与所述Redis服务器的类型对应的预设方式解析所述节点配置信息,获取所述Redis服务器对应的每个节点的节点信息的步骤,还包括:
当所述Redis服务器的类型为非集群时,从所述节点配置信息中提取所述节点的节点IP和节点端口,其中,所述节点IP和所述节点端口之间设置第二预设分隔符号,将位于所述第二预设分隔符号前的信息作为所述节点的节点IP,以及将位于所述第二预设分隔符号后的信息作为所述节点的节点端口。
进一步地,所述根据各个所述节点的节点信息,建立与全部所述节点的连接,以完成与Redis服务器的连接的步骤后,包括:
监测所述节点配置文件是否发生更新;
若是,则从更新的所述节点配置文件中提取更新的所述节点配置信息;
根据更新的所述节点配置信息判断是否有新增的节点和/或减少的节点;
若是,则添加与所述新增的节点的连接,和/或断开与所述减少的节点的连接。
本申请还提出了一种Redis服务器连接装置,设置于客户端,所述装置包括:
文件获取单元,用于获取节点配置文件,其中,所述节点配置文件包含Redis服务器的节点配置信息;
信息提取单元,用于从所述节点配置文件中提取所述节点配置信息,其中,所述节点配置信息包括各个节点的节点信息;
类型判断单元,用于根据所述节点配置信息判断所述Redis服务器的类型;
配置解析单元,用于按照与所述Redis服务器的类型对应的预设方式解析所述节点配置信息,获取所述Redis服务器对应的每个节点的节点信息;
节点连接单元,用于根据各个所述节点的节点信息,建立与全部所述节点的连接,以完成与Redis服务器的连接。
本申请还提出了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述方法的步骤。
本申请的有益效果:
本申请的Redis服务器连接方法、装置、计算机设备和存储介质,首先获取节点配置文件,节点配置文件包含Redis服务器的节点配置信息;接着从节点配置文件中提取节点配置信息;根据节点配置信息判断Redis服务器的类型;再按照与Redis服务器的类型对应的预设方式解析节点配置信息,获取Redis服务器对应的每个节点的节点信息;最后根据各个节点的节点信息,建立与全部节点的连接,以完成与Redis服务器的连接;本申请的Redis服务器连接方法可以适用于不同类型的Redis服务器,无需开发人员根据Redis服务器的类型来修改客户端与Redis服务器的连接配置,大大减少了开发人员的工作量。
附图说明
图1是本申请一实施例的Redis服务器连接方法的流程示意图;
图2是本申请一实施例的Redis服务器连接装置的结构示意框图;
图3是本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请一实施例中提供了一种Redis服务器连接方法,应用于客户端,所述方法包括:
S1、获取节点配置文件,其中,所述节点配置文件包含Redis服务器的节点配置信息;
S2、从所述节点配置文件中提取所述节点配置信息,其中,所述节点配置信息包括各个节点的节点信息;
S3、根据所述节点配置信息判断所述Redis服务器的类型;
S4、按照与所述Redis服务器的类型对应的预设方式解析所述节点配置信息,获取所述Redis服务器对应的每个节点的节点信息;
S5、根据各个所述节点的节点信息,建立与全部所述节点的连接,以完成与Redis服务器的连接。
本实施例中,上述客户端包括如Jedis客户端,用户通过客户端连接Redis服务器,从而使得客户端在Redis服务器中进行数据处理。上述步骤S1中,上述节点配置文件存放于预设的指定位置,可以是指定的服务器,也可以是客户端与服务器之间的连接中间件,还可以是客户端;也可以放在缓存中,便于客户端监控节点配置文件的更新。上述节点配置文件中包含Redis服务器的节点配置信息。其中,节点配置信息中包括Redis服务器对应的各个节点的节点信息。Redis是一个Key-Value数据库。在实际使用中,例如对于人脸数据库,有的规模比较大,则需要采用集群来进行数据处理,集群中包括多台服务器,其中每台服务器即为集群的中每个节点,所有节点构成了一个集群;有的规模比较小,则不需要采用集群,采用非集群即可,非集群中只包含一个节点。其中,节点配置信息可以由用户根据系统可用的节点分布自行添加至节点配置文件中。节点配置信息也可以由Redis服务器自动获取待配置为与客户端连接的全部节点的节点信息,所述节点的数目≥1;再按照预设配置方式生成节点配置文件,所述节点配置文件中包含全部所述节点的节点信息。
上述步骤S2中,上述节点配置信息包括Redis服务器对应的各个节点的节点信息。在Redis服务器配置节点配置信息时,将获取到的各个节点的节点信息写入节点配置信息中,其中节点信息包括节点IP和节点端口。具体地,服务器可以通过以下的预设配置方式来生成节点配置文件:判断待配置为与客户端连接的节点的数目是否大于1;若是,则通过第二分隔符号分别连接每个所述节点的所述节点IP和所述节点端口,以分别生成每个所述节点的单节点配置信息,再通过第一分隔符号连接每个单节点配置信息,生成节点配置信息,并将所述节点配置信息写入所述节点配置文件中;若否,则通过所述第二分隔符号连接所述节点的所述节点IP和所述节点端口,生成节点配置信息,并将所述节点配置信息写入所述节点配置文件。对于非集群,仅包含一个节点,例如,节点IP为“127.0.0.1”,节点端口为“6379”,则通过第二分隔符号如“:”连接单个节点的节点IP和节点端口,生成的配置信息为“127.0.0.1:6379”。对于集群,包含多个节点,多个节点的节点IP和节点端口如表1所列,通过第二分隔符号如“:”连接每个节点的节点IP和节点端口,生成每个节点的单节点配置信息:“10.20.21.140:6380”“10.20.21.141:6381”“10.20.21.142:6382”“10.20.21.143:6383”“10.20.21.144:6384”和“10.20.21.145:6385”;再通过第一分隔符号如“;”连接每个单节点配置信息,生成节点配置信息“10.20.21.140:6380;10.20.21.141:6381;10.20.21.142:6382;10.20.21.143:6383;10.20.21.144:6384;10.20.21.145:6385”。
表1集群对应的节点信息
编号 | 节点IP | 节点端口 |
1 | 10.20.21.140 | 6380 |
2 | 10.20.21.141 | 6381 |
3 | 10.20.21.142 | 6382 |
4 | 10.20.21.143 | 6383 |
5 | 10.20.21.144 | 6384 |
6 | 10.20.21.145 | 6385 |
上述步骤S3中,客户端根据上述节点配置信息判断Redis服务器的类型,其中Redis服务器的类型包括集群和非集群。集群中的节点数目大于1;非集群中只包含一个节点。
上述步骤S4中,客户端对上述节点配置信息进行解析,获取Redis服务器对应的每个节点的节点信息。如客户端从集群对应的节点配置信息“10.20.21.140:6380;10.20.21.141:6381;10.20.21.142:6382;10.20.21.143:6383;10.20.21.144:6384;10.20.21.145:6385”中解析出如表1所列的每个节点的节点信息;又如客户端从非集群对应的节点配置信息“127.0.0.1:6379”中解析出节点的节点IP为“127.0.0.1”,以及节点端口为“6379”。
上述步骤S5中,客户端建立与步骤S4解析得到的每个节点的连接。具体地,当Redis服务器为非集群时,Java客户端直接根据单个节点的节点IP与Redis服务器建立连接;当Redis服务器为集群时,根据多个节点的节点IP和节点端口,建立节点映射表,客户端根据节点映射表建立与各个节点的连接,此外在Redis服务器的节点配置文件中还可以包含对集群中的节点分配为主节点和从节点的信息,部分节点被设置为主节点,以及各个主节点分配有对应的从节点,客户端在与Redis服务器建立连接时,还可以对主从节点进行分配。
本实施例的Redis服务器连接方法,首先获取Redis服务器的节点配置文件;接着从节点配置文件中提取节点配置信息;根据节点配置信息判断Redis服务器的类型;再按照与Redis服务器的类型对应的预设方式解析节点配置信息,获取Redis服务器对应的每个节点的节点信息;最后根据各个节点的节点信息,建立与全部节点的连接,以完成与Redis服务器的连接;本申请的Redis服务器连接方法可以适用于不同类型的Redis服务器,无需开发人员根据Redis服务器的类型来修改客户端与Redis服务器的连接配置,大大减少了开发人员的工作量。
在一个实施例中,上述Redis服务器的类型包括集群和非集群,所述根据所述节点配置信息判断所述Redis服务器的类型的步骤S3,包括:
S301、解析所述节点配置信息,得到所述Redis服务器所包含的节点数目;
S302、判断所述节点数目是否大于1;
S303、若是,则判定所述Redis服务器的类型为所述集群;
S304、若否,则判定所述Redis服务器的类型为所述非集群。
本实施例中,上述集群包括多个节点,所有节点构成了一个集群。上述非集群中只包含一个节点。上述节点配置信息中包括了Redis服务器对应的每个节点的节点信息。根据Redis服务器所包含的节点数目来判断Redis服务器的类型,当节点数目大于1时,Redis服务器的类型为集群;当节点数目等于1时,Redis服务器的类型为非集群。
在一个实施例中,上述解析所述节点配置信息,得到所述Redis服务器所包含的节点数目的步骤S301,包括:
S3011、获取所述节点配置信息中包含的第一预设分隔符号的数目;
S3012、根据所述第一预设分隔符号的数目计算所述Redis服务器所包含的所述节点数目。
本实施例中,上述第一预设分隔符号为在节点配置信息中分隔两个节点的节点信息的符号。客户端通过识别第一预设分隔符号,来分割节点配置信息,得到的每个分割后的信息片段即为每个节点的节点信息。上述第一预设分隔符号可以是如“;”、“,”、“/”、“*”等,仅需与节点配置信息中的其它符号均不同,便于客户端自动识别即可,本实施例对此不做具体限定。
在一个具体实施例中,上述根据所述第一预设分隔符号的数目计算所述Redis服务器所包含的所述节点数目的步骤S3012,包括:
S3012a、将所述第一预设分隔符号的数目加1,以得到所述节点数目。
以第一预设分隔符号为“;”为例,如节点配置信息为“127.0.0.1:6379”,则获取到该节点配置信息中的第一预设分隔符号的数目为0个,则Redis服务器所包含的节点数目为1个,Redis服务器对应的类型为非集群;又如节点配置信息为“10.20.21.140:6380;10.20.21.141:6381;10.20.21.142:6382;10.20.21.143:6383;10.20.21.144:6384;10.20.21.145:6385”,则获取到该节点配置信息中的第一预设分隔符号的数目为5个,则Redis服务器所包含的节点数目为6个,Redis服务器对应的类型为集群。
在一个实施例中,上述节点信息包括节点IP和节点端口,所述按照与所述Redis服务器的类型对应的预设方式解析所述节点配置信息,获取所述Redis服务器对应的每个节点的节点信息的步骤S4,包括:
S401、当所述Redis服务器的类型为集群时,则根据所述第一预设分隔符号,从所述节点配置信息中提取所述Redis服务器包含的每个所述节点的单节点配置信息,其中,相邻的两个所述单节点配置信息之间设置所述第一预设分隔符号;
S402、分别从每个所述单节点配置信息中提取每个所述节点的节点IP和节点端口,其中,所述节点IP和所述节点端口之间设置第二预设分隔符号,将位于各个所述第二预设分隔符号前的信息分别作为各个所述节点的节点IP,以及将位于各个所述第二预设分隔符号后的信息分别作为各个所述节点的节点端口。
本实施例中,上述第一预设分隔符号为在节点配置信息中分隔两个节点的节点信息的符号,上述第一预设分隔符号可以是如“;”、“,”、“/”、“*”等,仅需与节点配置信息中的其它符号均不同,便于客户端自动识别即可。
上述步骤S401中,当判定Redis服务器的类型为集群时,通过第一预设分隔符号来分割节点配置信息,得到的各个信息片段即为各个节点的单节点配置信息。以上述第一预设分隔符号为“;”,节点配置信息“10.20.21.140:6380;10.20.21.141:6381;10.20.21.142:6382;10.20.21.143:6383;10.20.21.144:6384;10.20.21.145:6385”为例,通过第一预设分隔符号“;”对该节点配置信息进行分割,得到的各个单节点配置信息为:“10.20.21.140:6380”“10.20.21.141:6381”“10.20.21.142:6382”“10.20.21.143:6383”“10.20.21.144:6384”和“10.20.21.145:6385”。
上述步骤S402中,上述第二预设分隔符号为在节点配置信息中分隔每个节点的节点IP和节点端口的符号,上述第二预设分隔符号可以是如“:”“#”等,仅需与节点配置信息中的其它符号以及第一预设分隔符号均不同,便于客户端自动识别即可。以上述第二预设分隔符号为“:”为例,对步骤S402得到的各个单节点配置信息进行分割,将“:”前的信息作为节点IP,以及将“:”后的信息作为节点端口,得到如表1所列的各个节点的节点信息。
在一个实施例中,上述节点信息包括节点IP和节点端口,上述按照与所述Redis服务器的类型对应的预设方式解析所述节点配置信息,获取所述Redis服务器对应的每个节点的节点信息的步骤S4,还包括:
S403、当所述Redis服务器的类型为非集群时,从所述节点配置信息中提取所述节点的节点IP和节点端口,其中,所述节点IP和所述节点端口之间设置第二预设分隔符号,将位于所述第二预设分隔符号前的信息作为所述节点的节点IP,以及将位于所述第二预设分隔符号后的信息作为所述节点的节点端口。
本实施例中,当判定Redis服务器的类型为非集群时,直接通过第二预设分隔符号对节点配置信息进行分割,即可得到非集群所包括的单个节点的节点IP和节点端口。以上述第二预设分隔符号为“:”,节点配置信息是“127.0.0.1:6379”为例,将“:”前的信息作为节点IP,以及将“:”后的信息作为节点端口,得到该单节点的节点信息。
在一个实施例中,上述根据各个所述节点的节点信息,建立与全部所述节点的连接,以完成与Redis服务器的连接的步骤S5后,包括:
S6、监测所述节点配置文件是否发生更新;
S7、若是,则从更新的所述节点配置文件中提取更新的所述节点配置信息;
S8、根据更新的所述节点配置信息判断是否有新增的节点和/或减少的节点;
S9、若是,则添加与所述新增的节点的连接,和/或断开与所述减少的节点的连接。
本实施例中,通过上述步骤S6~S9,当Redis服务器的节点有新增或者减少时,节点配置文件会对应的发生更新,在节点配置信息中会新增或者减少节点的节点信息。将更新的节点配置信息和原先的节点配置信息进行比较,判断是否有新增的节点,或者有减少的节点。若有新增的节点,则说明Redis服务器被扩展,对新增的节点分配预设的空间槽,或者将新增的节点按照节点配置信息中的节点主从关系分配到对应的主节点下。若有减少的节点,则断开与被减少的节点的连接,并将该节点对应的空间槽分配到其它各个节点。
参照图2,本申请一实施例中提供了一种Redis服务器连接装置,设置于客户端,所述方法包括:
文件获取单元10,用于获取节点配置文件,其中,所述节点配置文件包含Redis服务器的节点配置信息;
信息提取单元20,用于从所述节点配置文件中提取所述节点配置信息,其中,所述节点配置信息包括各个节点的节点信息;
类型判断单元30,用于根据所述节点配置信息判断所述Redis服务器的类型;
配置解析单元40,用于按照与所述Redis服务器的类型对应的预设方式解析所述节点配置信息,获取所述Redis服务器对应的每个节点的节点信息;
节点连接单元50,用于根据各个所述节点的节点信息,建立与全部所述节点的连接,以完成与Redis服务器的连接。
本实施例中,上述Redis服务器连接装置中的文件获取单元10、信息提取单元20、类型判断单元30、配置解析单元40与节点连接单元50的功能和作用的实现过程具体详见上述Redis服务器连接方法中对应步骤S1-S5的实现过程,在此不再赘述。
本实施例的Redis服务器连接装置,首先获取Redis服务器的节点配置文件;接着从节点配置文件中提取节点配置信息;根据节点配置信息判断Redis服务器的类型;再按照与Redis服务器的类型对应的预设方式解析节点配置信息,获取Redis服务器对应的每个节点的节点信息;最后根据各个节点的节点信息,建立与全部节点的连接,以完成与Redis服务器的连接;本申请的Redis服务器连接装置可以适用于不同类型的Redis服务器,无需开发人员根据Redis服务器的类型来修改客户端与Redis服务器的连接配置,大大减少了开发人员的工作量。
在一个实施例中,上述Redis服务器的类型包括集群和非集群,上述类型判断单元30,包括:
节点解析子单元,用于解析所述节点配置信息,得到所述Redis服务器所包含的节点数目;
判断子单元,用于判断所述节点数目是否大于1;
第一判定单元,用于若大于1,则判定所述Redis服务器的类型为所述集群;
第二判定单元,用于若不大于1,则判定所述Redis服务器的类型为所述非集群。
本实施例中,上述Redis服务器连接装置中的节点解析子单元、判断子单元、第一判定单元与第二判定单元的功能和作用的实现过程具体详见上述Redis服务器连接方法中对应步骤S301-S304的实现过程,在此不再赘述。
在一个实施例中,上述节点解析子单元,包括:
获取模块,用于获取所述节点配置信息中包含的第一预设分隔符号的数目;
计算模块,用于根据所述第一预设分隔符号的数目计算所述Redis服务器所包含的所述节点数目。
本实施例中,上述Redis服务器连接装置中的获取模块与计算模块的功能和作用的实现过程具体详见上述Redis服务器连接方法中对应步骤S3011-S3012的实现过程,在此不再赘述。
在一个具体实施例中,上述计算模块,包括:
计算子模块,用于将所述第一预设分隔符号的数目加1,以得到所述节点数目。
本实施例中,上述Redis服务器连接装置中的计算子模块的功能和作用的实现过程具体详见上述Redis服务器连接方法中对应步骤S3012a的实现过程,在此不再赘述。
在一个实施例中,上述节点信息包括节点IP和节点端口,上述配置解析单元40,包括:
第一提取子单元,用于当所述Redis服务器的类型为集群时,则根据所述第一预设分隔符号,从所述节点配置信息中提取所述Redis服务器包含的每个所述节点的单节点配置信息,其中,相邻的两个所述单节点配置信息之间设置所述第一预设分隔符号;
第二提取子单元,用于分别从每个所述单节点配置信息中提取每个所述节点的节点IP和节点端口,其中,所述节点IP和所述节点端口之间设置第二预设分隔符号,将位于各个所述第二预设分隔符号前的信息分别作为各个所述节点的节点IP,以及将位于各个所述第二预设分隔符号后的信息分别作为各个所述节点的节点端口。
本实施例中,上述Redis服务器连接装置中的第一提取子单元与第二提取子单元的功能和作用的实现过程具体详见上述Redis服务器连接方法中对应步骤S401~S402的实现过程,在此不再赘述。
在一个实施例中,上述节点信息包括节点IP和节点端口,上述配置解析单元40,还包括:
第三提取子单元,用于当所述Redis服务器的类型为非集群时,从所述节点配置信息中提取所述节点的节点IP和节点端口,其中,所述节点IP和所述节点端口之间设置第二预设分隔符号,将位于所述第二预设分隔符号前的信息作为所述节点的节点IP,以及将位于所述第二预设分隔符号后的信息作为所述节点的节点端口。
本实施例中,上述Redis服务器连接装置中的第三提取子单元的功能和作用的实现过程具体详见上述Redis服务器连接方法中对应步骤S403的实现过程,在此不再赘述。
在一个实施例中,上述Redis服务器连接装置,还包括:
监测单元,用于监测所述节点配置文件是否发生更新;
更新单元,用于若所述节点配置文件发生更新,则从更新的所述节点配置文件中提取更新的所述节点配置信息;
节点增减判断单元,用于根据更新的所述节点配置信息判断是否有新增的节点和/或减少的节点;
连接更新单元,用于若有新增的节点和/或减少的节点,则添加与所述新增的节点的连接,和/或断开与所述减少的节点的连接。
本实施例中,上述Redis服务器连接装置中的监测单元、更新单元、节点增减判断单元与连接更新单元的功能和作用的实现过程具体详见上述Redis服务器连接方法中对应步骤S6~S9的实现过程,在此不再赘述。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储节点配置信息等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种Redis服务器连接方法。
上述处理器执行上述Redis服务器连接方法的步骤:
获取节点配置文件,其中,所述节点配置文件包含Redis服务器的节点配置信息;
从所述节点配置文件中提取所述节点配置信息,其中,所述节点配置信息包括各个节点的节点信息;
根据所述节点配置信息判断所述Redis服务器的类型;
按照与所述Redis服务器的类型对应的预设方式解析所述节点配置信息,获取所述Redis服务器对应的每个节点的节点信息;
根据各个所述节点的节点信息,建立与全部所述节点的连接,以完成与Redis服务器的连接。
在一实施例中,上述Redis服务器的类型包括集群和非集群,上述处理器根据所述节点配置信息判断所述Redis服务器的类型的步骤,包括:
解析所述节点配置信息,得到所述Redis服务器所包含的节点数目;
判断所述节点数目是否大于1;
若是,则判定所述Redis服务器的类型为所述集群;
若否,则判定所述Redis服务器的类型为所述非集群。
在一实施例中,上述处理器解析所述节点配置信息,得到所述Redis服务器所包含的节点数目的步骤,包括:
获取所述节点配置信息中包含的第一预设分隔符号的数目;
根据所述第一预设分隔符号的数目计算所述Redis服务器所包含的所述节点数目。
在一实施例中,上述处理器根据所述第一预设分隔符号的数目计算所述Redis服务器所包含的所述节点数目的步骤,包括:
将所述第一预设分隔符号的数目加1,以得到所述节点数目。
在一实施例中,上述节点信息包括节点IP和节点端口,上述处理器按照与所述Redis服务器的类型对应的预设方式解析所述节点配置信息,获取所述Redis服务器对应的每个节点的节点信息的步骤,包括:
当所述Redis服务器的类型为集群时,则根据所述第一预设分隔符号,从所述节点配置信息中提取所述Redis服务器包含的每个所述节点的单节点配置信息,其中,相邻的两个所述单节点配置信息之间设置所述第一预设分隔符号;
分别从每个所述单节点配置信息中提取每个所述节点的节点IP和节点端口,其中,所述节点IP和所述节点端口之间设置第二预设分隔符号,将位于各个所述第二预设分隔符号前的信息分别作为各个所述节点的节点IP,以及将位于各个所述第二预设分隔符号后的信息分别作为各个所述节点的节点端口。
在一实施例中,上述节点信息包括节点IP和节点端口,上述处理器按照与所述Redis服务器的类型对应的预设方式解析所述节点配置信息,获取所述Redis服务器对应的每个节点的节点信息的步骤,还包括:
当所述Redis服务器的类型为非集群时,从所述节点配置信息中提取所述节点的节点IP和节点端口,其中,所述节点IP和所述节点端口之间设置第二预设分隔符号,将位于所述第二预设分隔符号前的信息作为所述节点的节点IP,以及将位于所述第二预设分隔符号后的信息作为所述节点的节点端口。
在一实施例中,上述处理器根据各个所述节点的节点信息,建立与全部所述节点的连接,以完成与Redis服务器的连接的步骤后,包括:
监测所述节点配置文件是否发生更新;
若是,则从更新的所述节点配置文件中提取更新的所述节点配置信息;
根据更新的所述节点配置信息判断是否有新增的节点和/或减少的节点;
若是,则添加与所述新增的节点的连接,和/或断开与所述减少的节点的连接。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种Redis服务器连接方法,具体为:
获取节点配置文件,其中,所述节点配置文件包含Redis服务器的节点配置信息;
从所述节点配置文件中提取所述节点配置信息,其中,所述节点配置信息包括各个节点的节点信息;
根据所述节点配置信息判断所述Redis服务器的类型;
按照与所述Redis服务器的类型对应的预设方式解析所述节点配置信息,获取所述Redis服务器对应的每个节点的节点信息;
根据各个所述节点的节点信息,建立与全部所述节点的连接,以完成与Redis服务器的连接。
在一实施例中,上述Redis服务器的类型包括集群和非集群,上述处理器根据所述节点配置信息判断所述Redis服务器的类型的步骤,包括:
解析所述节点配置信息,得到所述Redis服务器所包含的节点数目;
判断所述节点数目是否大于1;
若是,则判定所述Redis服务器的类型为所述集群;
若否,则判定所述Redis服务器的类型为所述非集群。
在一实施例中,上述处理器解析所述节点配置信息,得到所述Redis服务器所包含的节点数目的步骤,包括:
获取所述节点配置信息中包含的第一预设分隔符号的数目;
根据所述第一预设分隔符号的数目计算所述Redis服务器所包含的所述节点数目。
在一实施例中,上述处理器根据所述第一预设分隔符号的数目计算所述Redis服务器所包含的所述节点数目的步骤,包括:
将所述第一预设分隔符号的数目加1,以得到所述节点数目。
在一实施例中,上述节点信息包括节点IP和节点端口,上述处理器按照与所述Redis服务器的类型对应的预设方式解析所述节点配置信息,获取所述Redis服务器对应的每个节点的节点信息的步骤,包括:
当所述Redis服务器的类型为集群时,则根据所述第一预设分隔符号,从所述节点配置信息中提取所述Redis服务器包含的每个所述节点的单节点配置信息,其中,相邻的两个所述单节点配置信息之间设置所述第一预设分隔符号;
分别从每个所述单节点配置信息中提取每个所述节点的节点IP和节点端口,其中,所述节点IP和所述节点端口之间设置第二预设分隔符号,将位于各个所述第二预设分隔符号前的信息分别作为各个所述节点的节点IP,以及将位于各个所述第二预设分隔符号后的信息分别作为各个所述节点的节点端口。
在一实施例中,上述节点信息包括节点IP和节点端口,上述处理器按照与所述Redis服务器的类型对应的预设方式解析所述节点配置信息,获取所述Redis服务器对应的每个节点的节点信息的步骤,还包括:
当所述Redis服务器的类型为非集群时,从所述节点配置信息中提取所述节点的节点IP和节点端口,其中,所述节点IP和所述节点端口之间设置第二预设分隔符号,将位于所述第二预设分隔符号前的信息作为所述节点的节点IP,以及将位于所述第二预设分隔符号后的信息作为所述节点的节点端口。
在一实施例中,上述处理器根据各个所述节点的节点信息,建立与全部所述节点的连接,以完成与Redis服务器的连接的步骤后,包括:
监测所述节点配置文件是否发生更新;
若是,则从更新的所述节点配置文件中提取更新的所述节点配置信息;
根据更新的所述节点配置信息判断是否有新增的节点和/或减少的节点;
若是,则添加与所述新增的节点的连接,和/或断开与所述减少的节点的连接。
综上所述,为本申请实施例中提供的Redis服务器连接方法、装置、计算机设备和存储介质,首先获取节点配置文件,节点配置文件包含Redis服务器的节点配置信息;接着从节点配置文件中提取节点配置信息;根据节点配置信息判断Redis服务器的类型;再按照与Redis服务器的类型对应的预设方式解析节点配置信息,获取Redis服务器对应的每个节点的节点信息;最后根据各个节点的节点信息,建立与全部节点的连接,以完成与Redis服务器的连接;本申请可以适用于不同类型的Redis服务器,无需开发人员根据Redis服务器的类型来修改客户端与Redis服务器的连接配置,大大减少了开发人员的工作量。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM通过多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (9)
1.一种Redis服务器连接方法,其特征在于,应用于客户端,所述Redis服务器的类型包括集群和非集群,所述方法包括:
获取节点配置文件,其中,所述节点配置文件包含Redis服务器的节点配置信息;
从所述节点配置文件中提取所述节点配置信息,其中,所述节点配置信息包括各个节点的节点信息;
解析所述节点配置信息,得到所述Redis服务器所包含的节点数目;
判断所述节点数目是否大于1;
若是,则判定所述Redis服务器的类型为所述集群;
若否,则判定所述Redis服务器的类型为所述非集群;
按照与所述Redis服务器的类型对应的预设方式解析所述节点配置信息,获取所述Redis服务器对应的每个节点的节点信息;
根据各个所述节点的节点信息,建立与全部所述节点的连接,以完成与Redis服务器的连接。
2.如权利要求1所述的Redis服务器连接方法,其特征在于,所述解析所述节点配置信息,得到所述Redis服务器所包含的节点数目的步骤,包括:
获取所述节点配置信息中包含的第一预设分隔符号的数目;
根据所述第一预设分隔符号的数目计算所述Redis服务器所包含的所述节点数目。
3.如权利要求2所述的Redis服务器连接方法,其特征在于,所述根据所述第一预设分隔符号的数目计算所述Redis服务器所包含的所述节点数目的步骤,包括:
将所述第一预设分隔符号的数目加1,以得到所述节点数目。
4.如权利要求2所述的Redis服务器连接方法,其特征在于,所述节点信息包括节点IP和节点端口,所述按照与所述Redis服务器的类型对应的预设方式解析所述节点配置信息,获取所述Redis服务器对应的每个节点的节点信息的步骤,包括:
当所述Redis服务器的类型为集群时,则根据所述第一预设分隔符号,从所述节点配置信息中提取所述Redis服务器包含的每个所述节点的单节点配置信息,其中,相邻的两个所述单节点配置信息之间设置所述第一预设分隔符号;
分别从每个所述单节点配置信息中提取每个所述节点的节点IP和节点端口,其中,所述节点IP和所述节点端口之间设置第二预设分隔符号,将位于各个所述第二预设分隔符号前的信息分别作为各个所述节点的节点IP,以及将位于各个所述第二预设分隔符号后的信息分别作为各个所述节点的节点端口。
5.如权利要求2所述的Redis服务器连接方法,其特征在于,所述节点信息包括节点IP和节点端口,所述按照与所述Redis服务器的类型对应的预设方式解析所述节点配置信息,获取所述Redis服务器对应的每个节点的节点信息的步骤,还包括:
当所述Redis服务器的类型为非集群时,从所述节点配置信息中提取所述节点的节点IP和节点端口,其中,所述节点IP和所述节点端口之间设置第二预设分隔符号,将位于所述第二预设分隔符号前的信息作为所述节点的节点IP,以及将位于所述第二预设分隔符号后的信息作为所述节点的节点端口。
6.如权利要求1所述的Redis服务器连接方法,其特征在于,所述根据各个所述节点的节点信息,建立与全部所述节点的连接,以完成与Redis服务器的连接的步骤后,包括:
监测所述节点配置文件是否发生更新;
若是,则从更新的所述节点配置文件中提取更新的所述节点配置信息;
根据更新的所述节点配置信息判断是否有新增的节点和/或减少的节点;
若是,则添加与所述新增的节点的连接,和/或断开与所述减少的节点的连接。
7.一种Redis服务器连接装置,其特征在于,设置于客户端,所述Redis服务器的类型包括集群和非集群,所述装置包括:
文件获取单元,用于获取节点配置文件,其中,所述节点配置文件包含Redis服务器的节点配置信息;
信息提取单元,用于从所述节点配置文件中提取所述节点配置信息,其中,所述节点配置信息包括各个节点的节点信息;
节点数目获取单元,用于解析所述节点配置信息,得到所述Redis服务器所包含的节点数目;
判断单元,用于判断所述节点数目是否大于1;
第一执行单元,用于当所述节点数目大于1时,判定所述Redis服务器的类型为所述集群;
第二执行单元,用于当所述节点数目不大于1时,判定所述Redis服务器的类型为所述非集群;
配置解析单元,用于按照与所述Redis服务器的类型对应的预设方式解析所述节点配置信息,获取所述Redis服务器对应的每个节点的节点信息;
节点连接单元,用于根据各个所述节点的节点信息,建立与全部所述节点的连接,以完成与Redis服务器的连接。
8.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910595930.9A CN110445835B (zh) | 2019-07-03 | 2019-07-03 | Redis服务器连接方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910595930.9A CN110445835B (zh) | 2019-07-03 | 2019-07-03 | Redis服务器连接方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110445835A CN110445835A (zh) | 2019-11-12 |
CN110445835B true CN110445835B (zh) | 2023-04-07 |
Family
ID=68428573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910595930.9A Active CN110445835B (zh) | 2019-07-03 | 2019-07-03 | Redis服务器连接方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110445835B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106453512A (zh) * | 2016-09-05 | 2017-02-22 | 努比亚技术有限公司 | 一种Redis集群信息监控装置及方法 |
CN106603281A (zh) * | 2016-12-07 | 2017-04-26 | 乐视控股(北京)有限公司 | 配置文件管理方法及系统 |
WO2018127010A1 (zh) * | 2017-01-03 | 2018-07-12 | 北京奇虎科技有限公司 | 一种传输节点的调度方法和装置 |
CN108600029A (zh) * | 2018-05-09 | 2018-09-28 | 深圳壹账通智能科技有限公司 | 一种配置文件更新方法、装置、终端设备及存储介质 |
CN109639489A (zh) * | 2018-12-18 | 2019-04-16 | 郑州云海信息技术有限公司 | 一种RabbitMQ集群部署方法、系统、设备和介质 |
-
2019
- 2019-07-03 CN CN201910595930.9A patent/CN110445835B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106453512A (zh) * | 2016-09-05 | 2017-02-22 | 努比亚技术有限公司 | 一种Redis集群信息监控装置及方法 |
CN106603281A (zh) * | 2016-12-07 | 2017-04-26 | 乐视控股(北京)有限公司 | 配置文件管理方法及系统 |
WO2018127010A1 (zh) * | 2017-01-03 | 2018-07-12 | 北京奇虎科技有限公司 | 一种传输节点的调度方法和装置 |
CN108600029A (zh) * | 2018-05-09 | 2018-09-28 | 深圳壹账通智能科技有限公司 | 一种配置文件更新方法、装置、终端设备及存储介质 |
CN109639489A (zh) * | 2018-12-18 | 2019-04-16 | 郑州云海信息技术有限公司 | 一种RabbitMQ集群部署方法、系统、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110445835A (zh) | 2019-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109474578B (zh) | 报文消息校验方法、装置、计算机设备和存储介质 | |
CN108388515B (zh) | 测试数据生成方法、装置、设备以及计算机可读存储介质 | |
CN108462760B (zh) | 电子装置、集群访问域名自动生成方法及存储介质 | |
CN110414569B (zh) | 聚类实现方法及装置 | |
CN108776587B (zh) | 数据获取方法、装置、计算机设备以及存储介质 | |
CN108415998B (zh) | 应用依赖关系更新方法、终端、设备及存储介质 | |
CN112052182A (zh) | 接口自动化测试方法、装置、计算机设备及存储介质 | |
CN112613993A (zh) | 交易数据处理方法、装置、计算机设备和存储介质 | |
CN113238756B (zh) | 直播业务处理方法、装置、电子设备及存储介质 | |
CN110445835B (zh) | Redis服务器连接方法、装置、计算机设备和存储介质 | |
CN114003432A (zh) | 参数校验方法、装置、计算机设备和存储介质 | |
CN112835921A (zh) | 慢查询处理方法、装置、电子设备及存储介质 | |
CN109933406B (zh) | 基于亲和性调整Docker组件部署的方法和相关设备 | |
CN114911589A (zh) | 跨数据平台的融合计算方法、系统、终端及存储介质 | |
CN114020612A (zh) | 测试数据构造处理方法、装置、计算机设备及存储介质 | |
CN113918345A (zh) | 一种配置硬件的容量计算方法、装置、计算机设备及介质 | |
CN112463836A (zh) | 基于Django框架的数据查询方法、装置、计算机设备和介质 | |
CN113448985A (zh) | 一种api接口生成方法、调用方法、装置及电子设备 | |
CN113610558A (zh) | 资源分发方法、装置、电子设备及存储介质 | |
CN109240906B (zh) | 数据库配置信息适配方法、装置、计算机设备和存储介质 | |
CN113127327A (zh) | 一种用于性能测试的测试方法及装置 | |
CN111651362A (zh) | 测试案例生成方法、装置、存储介质和计算机设备 | |
CN110928679A (zh) | 一种资源分配方法及装置 | |
CN112804373B (zh) | 接口域名确定方法、装置、电子设备及存储介质 | |
CN115114135B (zh) | 软件数据测试方法、装置、设备、介质及产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |