CN116795620A - 一种Redis服务器部署方法、电子设备和存储介质 - Google Patents
一种Redis服务器部署方法、电子设备和存储介质 Download PDFInfo
- Publication number
- CN116795620A CN116795620A CN202210270377.3A CN202210270377A CN116795620A CN 116795620 A CN116795620 A CN 116795620A CN 202210270377 A CN202210270377 A CN 202210270377A CN 116795620 A CN116795620 A CN 116795620A
- Authority
- CN
- China
- Prior art keywords
- mode
- target
- redis server
- server
- redis
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000003860 storage Methods 0.000 title claims abstract description 19
- 238000004891 communication Methods 0.000 claims description 11
- 238000011161 development Methods 0.000 claims description 6
- 238000004519 manufacturing process Methods 0.000 claims description 4
- 238000012360 testing method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 238000004590 computer program Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003032 molecular docking Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
- G06F11/3093—Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供一种Redis服务器部署方法、电子设备和存储介质,其中方法的实现包括:在接收到用于访问Redis服务器的访问请求时,读取远程服务器中的Redis服务器配置信息;根据Redis服务器配置信息确定Redis服务器的目标部署方式,目标部署方式为单节点模式、集群模式或哨兵模式;根据目标部署方式提交Redis服务器的访问请求。采用本申请实施例的方法,通过读取远程服务器中的Redis服务器配置信息,从而确定Redis服务器的目标部署方式,进而根据目标部署方式提交Redis服务器的访问请求,提高了部署Redis服务器时的工作效率和灵活性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种Redis服务器部署方法、电子设备和存储介质。
背景技术
远程字典服务器Redis(Remote Dictionary Server)是一个开源的使用ANSI C语言编写、遵守伯克利软件发行版BSD(Berkeley Software Distribution)协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,是跨平台的非关系型数据库。Redis服务器由于其优越的性能通常被用于进行数据处理工作。
随着计算机技术的高速发展、以及Redis服务器在数据处理方面的众多性能优点,越来越多的应用项目开发者使用Redis服务器与应用项目客户端建立访问连接。然而目前,客户端在部署Redis服务器时,客户端需要自行确定Redis服务器的部署方式、之后再获取到存储于客户端本地的用于与Redis服务器建立连接的Redis服务器配置文件,这使得在客户端有与Redis服务器建立连接的需求时,客户端需要处理大量的服务器部署工作,且服务器部署工作的不同步骤之间具有难以变通的先后条件顺序,显然,这显著地降低了客户端部署Redis服务器时的工作效率和灵活性。
发明内容
本申请实施例提供了一种Redis服务器部署方法、电子设备和存储介质,实施本申请实施例的方法,提高了部署Redis服务器时的工作效率。
第一方面,本申请实施例提供了一种Redis服务器部署方法,应用于目标客户端中,上述方法包括:
在接收到用于访问Redis服务器的访问请求时,读取远程服务器中的Redis服务器配置信息;
根据Redis服务器配置信息确定Redis服务器的目标部署方式,目标部署方式为单节点模式、集群模式或哨兵模式;
根据目标部署方式提交Redis服务器的访问请求。
在一个可能的示例中,上述方法还包括:
若确定Redis服务器配置文件中不包括目标部署方式对应的配置文件,则向远程服务器发送提示信息用于提示目标客户端不包括目标部署方式对应的配置文件,并执行以下步骤:
在目标部署方式为集群模式或哨兵模式的情况下,获取新的目标组件,新的目标组件包括目标部署方式对应的配置文件;
在目标部署方式为单节点模式的情况下,接收重读取指示,重读取指示用于指示重新读取Redis服务器配置信息,Redis服务器配置信息为将目标部署方式更新为非单节点模式之后确定的。
第二方面,本申请实施例提供了一种电子设备,包括处理器、存储器以及存储在存储器上并可在处理器上运行的计算机执行指令,当计算机执行指令被运行时,使得电子设备执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。
第三方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机指令,当计算机指令在通信装置上运行时,使得通信装置执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。
第四方面,本申请实施例提供了一种计算机程序产品,其中,计算机程序产品包括计算机程序,计算机程序可操作来使计算机执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
第五方面,本申请实施例提供了一种Redis服务器部署装置,应用于目标客户端中,上述装置包括:
读取单元,用于在接收到用于访问Redis服务器的访问请求时,读取远程服务器中的Redis服务器配置信息;
确定单元,用于根据Redis服务器配置信息确定Redis服务器的目标部署方式,目标部署方式为单节点模式、集群模式或哨兵模式;
提交单元,用于根据目标部署方式提交Redis服务器的访问请求。
可以看出,本申请实施例中,在接收到用于访问Redis服务器的访问请求时,读取远程服务器中的Redis服务器配置信息;根据Redis服务器配置信息确定Redis服务器的目标部署方式,目标部署方式为单节点模式、集群模式或哨兵模式;根据目标部署方式提交Redis服务器的访问请求。采用本申请实施例的方法,通过读取远程服务器中的Redis服务器配置信息,从而确定Redis服务器的目标部署方式,进而根据目标部署方式提交Redis服务器的访问请求,提高了部署Redis服务器时的工作效率和灵活性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种客户端的结构部署图;
图2是本申请实施例提供的一种Redis服务器部署方法的流程示意图;
图3是本申请实施例提供的一种Redis服务器部署方法的举例示意图;
图4是本申请实施例提供的一种Redis服务器部署方法的举例示意图;
图5是本申请实施例提供的一种Redis服务器部署方法的举例示意图;
图6是本申请的实施例提供的一种电子设备的硬件运行环境的服务器结构示意图;
图7是本申请实施例提供的一种Redis服务器部署装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤的过程、方法、系统、产品或设备没有限定于已列出的步骤,而是可选地还包括没有列出的步骤,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
下面结合附图对本申请实施例涉及的应用场景进行介绍。
图1是本申请实施例提供的一种客户端的结构部署图。如图1所示,客户端的第一端与用户终端连接且第二端与Redis服务器连接,其中,
用户终端,指为了访问Redis服务器而在客户端上向Redis服务器发起访问请求的用户所使用的终端设备;
Redis服务器,指与客户端建立连接并以某种部署方式响应客户端的访问请求的服务器,部署方式为单节点模式、集群模式或哨兵模式;
客户端,包括Redis服务器配置信息和Redis服务器配置文件,Redis服务器配置信息用于确定Redis服务器的部署方式,Redis服务器配置文件用于使得客户端能够与处于对应部署方式下的Redis服务器建立连接;客户端在接受到用户终端用于访问Redis服务器的访问请求后,通过调取存储于本地的Redis服务器配置信息确定Redis服务器的部署方式,并根据Redis服务器的部署方式和Redis服务器配置文件,从而根据对应的部署方式提交Redis服务器的访问请求,最终客户端与Redis服务器建立连接。
可以看出,在上述客户端进行Redis服务器部署的过程中,客户端内部要先确定Redis服务器的部署方式、才能根据部署方式去对应调取Redis服务器配置文件,从而,客户端在部署Redis服务器的过程中,客户端需要耗费大量时间在本地对相关信息进行搜索、调用、匹配、实例化数据等等操作。可见,由于客户端需要处理大量的服务器部署工作,且必须按照既定的步骤才能往下一步骤开展工作,显然,这无疑大大增加了客户端部署Redis服务器时的困难度、也极大程度地降低了客户端部署Redis服务器时的工作效率,缺乏灵活性,这使得用户在使用上述客户端访问Redis服务器时的使用体验尚有较大的改善空间。
基于此,本申请实施例提供了一种Redis服务器部署方法,应用于目标客户端中,请参阅图2,图2是本申请实施例提供的一种Redis服务器部署方法的流程示意图,如图2所示,该方法包括以下步骤:
101:在接收到用于访问Redis服务器的访问请求时,读取远程服务器中的Redis服务器配置信息。
其中,Redis是其英文全称“Remote Dictionary Server”的缩写,相应地,Redis的中文名为“远程字典服务器”。
其中,远程服务器,指不同于目标客户端、位于目标客户端之外的服务器。
102:根据Redis服务器配置信息确定Redis服务器的目标部署方式,目标部署方式为单节点模式、集群模式或哨兵模式。
其中,根据Redis服务器配置信息确定Redis服务器的目标部署方式,在具体实现中,可以是Redis服务器配置信息中直接指明Redis服务器的目标部署方式,也可以是Redis服务器配置信息中指明了Redis服务器的运行环境从而目标客户端能够根据Redis服务器的运行环境去确定Redis服务器对应的目标部署方式。
其中,单节点模式,指用于响应目标客户端的访问请求的Redis服务器只有一个;
其中,集群模式,指用于响应目标客户端的访问请求的Redis服务器的数量为多个,且多个Redis服务器的配置参数相同,目标客户端的访问请求会平均地分配给各个Redis服务器进行响应;
其中,哨兵模式,指Redis服务器的部署方式为:具有一个主Redis服务器、多个从Redis服务器和至少一个哨兵Redis服务器,且主Redis服务器和从Redis服务器的配置参数是不同的,至少一个哨兵Redis服务器中每个哨兵Redis服务器监控着主Redis服务器的服务可用性以及除哨兵Redis服务器以外的Redis服务器的主从关系,若有哨兵Redis服务器监控到主Redis服务器的服务不可用,则至少一个哨兵Redis服务器会从多个从Redis服务器中确定出一个从Redis服务器作为新的主服务器,并重新修改新的主、从Redis服务器的配置参数以确保服务的持续可用性。
103:根据目标部署方式提交Redis服务器的访问请求。
其中,根据目标部署方式提交Redis服务器的访问请求,即是说,目标客户端在对应配置好与目标部署方式的Redis服务器配置文件后向Redis服务器提交访问请求,从而目标客户端能够与Redis服务器成功建立连接。
示例性地,假设Redis服务器运行于正式环境下,请参阅图3,图3是本申请实施例提供的一种Redis服务器部署方法的举例示意图,如图3所示,用户终端希望访问Redis服务器,因此,用户终端在目标客户端上发出用于访问Redis服务器的访问请求,目标客户端在接收到用于访问Redis服务器的访问请求时,读取远程服务器中的Redis服务器配置信息,由于Redis服务器运行于正式环境下,因此,远程服务器中的Redis服务器配置信息指明了Redis服务器的目标部署方式为集群模式,从而目标客户端接收到Redis服务器配置信息后确定出Redis服务器的目标部署方式为集群模式,进而目标客户端在对应配置好单节点模式的配置文件后向包括N个Redis服务器(Redis服务器1、Redis服务器1……Redis服务器N)的Redis服务器集群提交访问请求,最终,N个Redis服务器工作于集群模式并与目标客户端建立连接。
可以看出,本申请实施例中,在接收到用于访问Redis服务器的访问请求时,读取远程服务器中的Redis服务器配置信息;根据Redis服务器配置信息确定Redis服务器的目标部署方式,目标部署方式为单节点模式、集群模式或哨兵模式;根据目标部署方式提交Redis服务器的访问请求。采用本申请实施例的方法,通过读取远程服务器中的Redis服务器配置信息,从而确定Redis服务器的目标部署方式,进而根据目标部署方式提交Redis服务器的访问请求,提高了部署Redis服务器时的工作效率和灵活性。
在一些应用场景中,由于Redis服务器有数种部署方式,因此,该采用哪种方式部署Redis服务器成为开发者们不得不面临的技术问题。如果在正式环境和非正式环境都采用单节点模式部署Redis服务器,虽然能够节省服务器资源成本,然而,若Redis服务器在正式环境下采用单节点模式进行部署,那么万一该Redis服务器遇到异常而中断服务,则会极大程度地增大服务不可用的风险进而造成难以估量的资源损失;
而如果在正式环境和非正式环境都采用集群模式或哨兵模式部署Redis服务器,那么在Redis服务器运行在非正式环境下时,由于访问流量较小,这种情况无疑会造成不必要的服务器资源成本的浪费;
可见,为了在确保Redis服务器的服务可用性的同时节省服务器资源成本,较为妥善的做法是:在非正式环境以单节点模式部署Redis服务器、在正式环境以集群模式或哨兵模式部署Redis服务器。然然,为了实现这种做法,那么欲与Redis服务器建立连接的客户端则必须为了Redis服务器的不同部署方式去对应配置不同的代码,这将会造成客户端操作Redis服务器时的复杂度大大提高。
因此,针对上述应用场景,本申请实施例提供了另一种Redis服务器部署方法,具体如下:
在一个可能的示例中,目标客户端包括目标组件,目标组件中包括Redis服务器配置文件,Redis服务器配置文件包括以下至少一种配置文件:单节点模式的配置文件、集群模式的配置文件、哨兵模式的配置文件,上述根据目标部署方式提交Redis服务器的访问请求,包括:
根据目标部署方式从Redis服务器配置文件中获取目标部署方式对应的配置文件;
将目标部署方式对应的配置文件注入Spring容器中,并完成对目标部署方式的实例化;
采用实例化后的目标部署方式提交Redis服务器的访问请求。
在具体实现中,将目标组件引入目标客户端,可以是通过使用项目对象模型Maven来管理目标客户端对应的项目,并且在Maven中的依赖声明文件Pom.xml中通过依赖引用标签Dependency实现目标组件的引入。
其中,Redis服务器配置文件,可以包括Redis服务器对应不同部署方式下的具体配置参数。
示例性地,Redis服务器配置文件所包括的单节点模式的配置文件,在具体实现中,可以包括指明单节点模式下的Redis服务器的主机是本地服务器、最大连接数据库连接数为8、最大空闲连接数为8、最小空闲连接数为1、连接密码为test123、最大建立连接等待时间为5秒即5000毫秒、端口号为6379……等配置信息,则上述单节点模式下的Redis服务器配置信息在配置文件中的具体实现形式可以是如下:
redis.single.host=localhost
redis.single.max-active=8
redis.single.max-idle=8
redis.single.min-idle=1
redis.single.password=test123
redis.single.max-wait=5000
redis.single.port=6379
……
又一示例性地,Redis服务器配置文件所包括的集群模式的配置文件,在具体实现中,可以包括指明集群模式下的Redis服务器的端口1对应主机ip1、端口2对应主机ip2且端口3对应主机ip3、连接超时时间为1000毫秒、最大连接数据库连接数为8、最大空闲连接数为8、连接密码为passwd1、请求响应时间为1000毫秒、等待连接超时时间为1000毫秒、最新空闲连接数为1……等配置信息,则上述集群模式下的Redis服务器配置信息在配置文件中的具体实现形式可以是如下:
##节点端口redis.cluster.nodes=ip1:port1,ip2:port2,ip3:port3
##连接超时时间redis.cluster.connect-timeout=1000
##最大连接数redis.cluster.max-active=8
##最大空闲连接数redis.cluster.max-idle=8
##连接密码redis.cluster.password=passwd1
##请求响应时间毫秒redis.cluster.so-timeout=1000
##等待连接超时时间毫秒redis.cluster.max-wait=1000
##最新空闲连接数redis.cluster.min-idle=1
……
其中,Spring容器是Spring Boot框架的核心,Spring Boot框架用于简化新Spring应用的初始搭建以及开发过程,Spring容器是Spring Boot框架的核心,是用来管理对象的,Spring容器用于将对象进行实例化得到实例对象,并把实例对象连接在一起、配置它们、并管理它们的整个从实例化到销毁的生命周期。其中,实例化,指在面向对象的编程中,把用类创建为对象的过程,即是说,将一个抽象的概念类具体到该类实物的过程,得到的实例对象占有一定的内存空间。
在具体实现中,将目标部署方式对应的配置文件注入Spring容器中,并完成对目标部署方式的实例化,即是说,通过Spring Boot框架将目标部署方式对应的配置文件中的配置参数传递到Spring容器中从而完成目标部署方式的实例化过程。
示例性地,请参阅图4,图4是本申请实施例提供的一种Redis服务器部署方法的举例示意图,如图4所示,目标组件被引入到采用Spring Boot框架的目标客户端中,目标组件中包括的Redis服务器配置文件包括集群模式的配置文件、且目标部署方式为集群模式,则从Redis服务器配置文件中获取集群模式对应的配置文件,将集群模式对应的配置文件中包括的用于将Redis服务器配置为集群模式的Redis服务器节点端口、连接超时时间、最大连接数据库连接数等配置参数注入到Spring Boot框架包括的Spring容器中,以完成集群模式的实例化,得到实例化后的集群模式,最终采用实例化后的集群模式提交Redis服务器的访问请求,从而目标客户端与工作模式为集群模式的Redis服务器建立连接。
可以看出,本申请实施例中,Redis服务器配置文件位于目标组件中,而目标组件对于目标客户端而言是可分离的,从而在读取远程服务器中的Redis服务器配置信息确定到Redis服务器的目标部署方式之后,是从目标组件中的Redis服务器配置文件获取目标部署方式对应的配置文件,再将配置文件注入Spring容器中以完成对目标部署方式的实例化,最终使得目标客户端与工作于目标部署方式的Redis服务器建立连接。可见,在上述Redis服务器部署过程中,由于目标客户端只需要读取远程服务器中的Redis服务器配置信息,且Redis服务器配置文件位于目标组件中,因此,其余部署执行工作均由目标组件完成,从而将目标客户端操作与Redis服务器部署的工作分离,实现了目标客户端对于Redis服务器部署的无感知操作;同时,由于Redis服务器配置信息和Redis服务器配置文件均位于目标客户端之外,因此,目标客户端无需为了Redis服务器的不同部署方式去对应配置不同的代码,从而实现目标客户端只需使用同一套程序代码就能自动适配不同Redis服务器的部署方式,进而降低了目标客户端在与Redis服务器建立连接时对于Redis服务器的部署复杂度。
进一步地,由于目标组件对于目标客户端而言具有可分离性,因此,目标组件的适用面广,可以被引入到不同的客户端中,从而使得客户端只需要引入目标组件即可灵活地根据不同的运行环境部署Redis服务器,而无需再针对Redis服务器的不同部署方式去对应配置不同的代码,极大地降低了引入本目标组件的、不同的客户端在操作Redis服务器时的复杂度。
基于上述实施例,在一些应用场景中,引入目标组件的客户端虽然无需再针对Redis服务器的不同部署方式去对应配置不同的代码,然而,Redis服务器的不同部署方式对应有不同的调用接口,因此,通常地,客户端操作Redis服务器时,在确定Redis服务器的部署方式后需要调用不同的接口地址来完成部署工作,这无疑会在一定程度上增加客户端操作Redis服务器时的服务器。
因此,针对上述应用场景,本申请实施例提供了另一种Redis服务器部署方法,具体如下:
在一个可能的示例中,上述目标组件中的Redis服务器配置文件采用唯一接口类进行调用。
在具体实现中,由于Redis服务器的各个部署方式都对应有各自原生的调用接口,各个原生的调用接口之间的参数定义、接口名字都存在差异,因此,为了实现目标组件中的Redis服务器配置文件采用唯一接口类进行调用,需要先对各个原生的调用接口类进行适配性处理,即是说,按照预设标准格式对各个原生的调用接口类中包括的参数定义、接口名字进行统一,得到预设标准格式的各个调用接口,最终对预设标准格式的各个调用接口类进行封装处理,从而得到唯一接口类。
可以看出,本申请实施例中,调用目标组件中的Redis服务器配置文件时,是采用唯一接口类进行调用的,从而目标客户端面对不同的目标部署方式都只需调用统一的唯一接口类即可调用Redis服务器配置文件,减少目标客户端与Redis服务器的对接成本,进而降低了目标客户端在与Redis服务器建立连接时对于Redis服务器的部署复杂度。
在一个可能的示例中,目标组件集成在目标应用中,上述目标组件中的Redis服务器配置文件采用的唯一接口类与目标应用采用的接口类为同一个接口类。
其中,为了实现目标组件中的Redis服务器配置文件采用的唯一接口类与目标应用采用的接口类为同一个接口类,在具体实现中,可以通过将目标应用采用的接口类调用地址的内容设置成与目标组件中的Redis服务器配置文件采用的唯一接口类调用地址的内容,即是说,将两个接口类的调用地址设置为相同一致的内容来实现。
示例性地,请参阅图5,图5是本申请实施例提供的一种Redis服务器部署方法的举例示意图,如图5所示,目标组件集成在目标应用中,目标组件中的Redis服务器配置文件包括单节点模式的配置文件、集群模式的配置文件以及哨兵模式的配置文件,相应地,Redis服务器配置文件调用接口类也包括单节点模式接口类、集群模式接口类以及哨兵模式接口类,可见,原本用不同部署方式部署Redis服务器将需要调用不同的接口类,这在一定程度上增加了部署Redis服务器的复杂程度,因此,为了减少目标客户端与Redis服务器的对接成本,按照预设标准格式对三种部署方式对应的接口类进行统一以及封装处理,得到目标组件接口类,从而实现了目标组件中的Redis服务器配置文件采用唯一接口类进行调用,进一步地,将目标应用包括的目标应用接口类对应的调用地址设置成与目标组件接口类的调用地址相同,进而实现了目标组件中的Redis服务器配置文件采用的唯一接口类与目标应用采用的接口类为同一个接口类,通过使得目标客户端在部署Redis服务器的过程中只需要调用一个接口类,最终实现目标客户端对于Redis服务器部署的无感知操作。
可以看出,本申请实施例中,当目标组件是集成在目标应用中时,由于目标组件本身对应有接口类、且目标应用本身也对应有接口类,因此,通过将目标组件中的Redis服务器配置文件采用的唯一接口类与目标应用采用的接口类进行统一,从而避免了目标客户端在调用不同目标部署方式下的Redis服务器配置文件时可能会访问多个接口类的不良情况,减少目标客户端与Redis服务器的对接成本,进而进一步地降低了目标客户端在与Redis服务器建立连接时对于Redis服务器的部署复杂度,同时实现了目标客户端对于Redis服务器部署的无感知操作。
在一个可能的示例中,Redis服务器配置信息是由远程服务器根据Redis服务器运行环境确定,上述Redis服务器运行环境包括正式环境或非正式环境,正式环境包括生产环境,非正式环境包括开发环境或测试环境。
在一个可能的示例中,上述Redis服务器运行环境为正式环境时,Redis服务器配置信息确定的目标部署方式为集群模式或哨兵模式;上述Redis服务器运行环境为非正式环境时,Redis服务器配置信息确定的目标部署方式为单节点模式。
其中,生产环境,指正式提供真实的对外服务给访问用户的运行环境;开发环境,指尚处于未完成的编程阶段、为了方便让开发者调试而具有较为随意的配置的运行环境;测试环境,指专门用于开发者在开发完成之后、投入生产环境之前,对其进行测试从而修复程序错误,不对外提供服务的运行环境。
可以看出,本申请实施例中,在Redis服务器运行环境为正式环境时,Redis服务器配置信息确定的目标部署方式为集群模式或哨兵模式,从而确保了Redis服务器的服务可用性;而在Redis服务器运行环境为非正式环境时,Redis服务器配置信息确定的目标部署方式为单节点模式,从而节省了服务器资源成本。通过对应的运行环境确定对应的目标部署方式,极大程度地提高了Redis服务器部署的操作灵活性,使得Redis服务器的部署方式最大程度地利于目标客户端的使用用户。
在一个可能的示例中,在根据目标部署方式从Redis服务器配置文件中获取目标部署方式对应的配置文件之前,上述方法还包括:确定Redis服务器配置文件中包括目标部署方式对应的配置文件。
在一个可能的示例中,上述方法还包括:
若确定Redis服务器配置文件中不包括目标部署方式对应的配置文件,则向远程服务器发送提示信息用于提示目标客户端不包括目标部署方式对应的配置文件,并执行以下步骤:
在目标部署方式为集群模式或哨兵模式的情况下,获取新的目标组件,新的目标组件包括目标部署方式对应的配置文件;
在目标部署方式为单节点模式的情况下,接收重读取指示,重读取指示用于指示重新读取Redis服务器配置信息,Redis服务器配置信息为将目标部署方式更新为非单节点模式之后确定的。
可以看出,本申请实施例中,在根据目标部署方式从Redis服务器配置文件中获取目标部署方式对应的配置文件之前,先确定Redis服务器配置文件中是否包括目标部署方式对应的配置文件,若是,则完成对目标部署方式的实例化,若否,则向远程服务器发送提示信息用于提示目标客户端不包括目标部署方式对应的配置文件,并且根据目标部署方式的不同而有不同的执行步骤,具体为:若目标部署方式为集群模式或哨兵模式,则获取新的包括目标部署方式对应的配置文件的目标组件;若目标部署方式为单节点模式,则由于当前Redis服务器运行于非正式环境下,而随着项目的进展流程,目标客户端之后必然会与运行于正式环境下的Redis服务器建立连接,因此,将目标部署方式更新为非单节点模式之后,再重新读取Redis服务器配置信息。可见,在Redis服务器配置文件中不包括目标部署方式对应的配置文件时,通过不同的目标部署方式,执行不同的步骤,从而最终都能够成功完成Redis服务器的部署工作,进而降低了目标客户端在与Redis服务器建立连接时对于Redis服务器的部署复杂度。
与上述图2所示的实施例一致的,本申请实施例提供了一种电子设备,请参阅图6,图6是本申请的实施例提供的一种电子设备的硬件运行环境的服务器结构示意图,如图6所示,电子设备包括处理器、存储器以及存储在存储器上并可在处理器上运行的计算机执行指令,当计算机执行指令被运行时,使得电子设备执行包括任一项Redis服务器部署方法的步骤的指令。
其中,处理器为CPU(Central Processing Unit)。
其中,存储器,可选的,存储器可以为高速RAM存储器,也可以是稳定的存储器,例如磁盘存储器。
本领域技术人员可以理解,图6中示出的服务器的结构并不构成对其的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图6所示,存储器中可以包括操作系统、网络通信模块以及Redis服务器部署方法的计算机执行指令。操作系统用于管理和控制服务器硬件和软件资源,支持计算机执行指令的运行。网络通信模块用于实现存储器内部各组件之间的通信,以及与服务器内部其他硬件和软件之间通信,通信可以使用任一通信标准或协议,包括但不限于GSM(GlobalSystem of Mobile communication,全球移动通讯系统)、GPRS(General Packet RadioService,通用分组无线服务)、CDMA2000(CodeDivision Multiple Access 2000,码分多址2000)、WCDMA(Wideband Code DivisionMultiple Access,宽带码分多址)、TD-SCDMA(TimeDivision-Synchronous CodeDivision Multiple Access,时分同步码分多址)等。
在图6所示的服务器中,处理器用于执行存储器中存储的人员管理的计算机执行指令,实现以下步骤:在接收到用于访问Redis服务器的访问请求时,读取远程服务器中的Redis服务器配置信息;根据Redis服务器配置信息确定Redis服务器的目标部署方式,目标部署方式为单节点模式、集群模式或哨兵模式;根据目标部署方式提交Redis服务器的访问请求。
本申请涉及的服务器的具体实施可参见上述Redis服务器部署方法的各实施例,在此不做赘述。
本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机指令,当计算机指令在通信装置上运行时,使得通信装置执行以下步骤:在接收到用于访问Redis服务器的访问请求时,读取远程服务器中的Redis服务器配置信息;根据Redis服务器配置信息确定Redis服务器的目标部署方式,目标部署方式为单节点模式、集群模式或哨兵模式;根据目标部署方式提交Redis服务器的访问请求。上述计算机包括电子设备。
其中,电子终端设备包括手机、平板电脑、个人数字助理、穿戴式设备等。
其中,计算机可读存储介质可以是上述实施例所述的电子设备的内部存储单元,例如电子设备的硬盘或内存。计算机可读存储介质也可以是上述电子设备的外部存储设备,例如电子设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,计算机可读存储介质还可以既包括电子设备的内部存储单元也包括外部存储设备。计算机可读存储介质用于存储计算机执行指令以及电子设备所需的其他计算机执行指令和数据。计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请涉及的计算机可读存储介质的具体实施可参见上述Redis服务器部署方法的各实施例,在此不做赘述。
本申请实施例提供了一种计算机程序产品,其中,计算机程序产品包括计算机程序,计算机程序可操作来使计算机如上述方法实施例中记载的任何一种Redis服务器部署方法的部分或全部步骤,该计算机程序产品可以是一个软件安装包。
与上述图2所示的实施例一致的,请参阅图7,图7是本申请实施例提供的一种Redis服务器部署装置的结构示意图,如图7所示:
一种Redis服务器部署装置,应用于目标客户端中,上述装置包括:
201:读取单元,用于在接收到用于访问Redis服务器的访问请求时,读取远程服务器中的Redis服务器配置信息;
202:确定单元,用于根据Redis服务器配置信息确定Redis服务器的目标部署方式,目标部署方式为单节点模式、集群模式或哨兵模式;
203:提交单元,用于根据目标部署方式提交Redis服务器的访问请求。
可以看出,本申请实施例提供的装置中,读取单元在接收到用于访问Redis服务器的访问请求时,读取远程服务器中的Redis服务器配置信息;确定单元根据Redis服务器配置信息确定Redis服务器的目标部署方式,目标部署方式为单节点模式、集群模式或哨兵模式;提交单元根据目标部署方式提交Redis服务器的访问请求。采用本申请实施例的装置,通过读取远程服务器中的Redis服务器配置信息,从而确定Redis服务器的目标部署方式,进而根据目标部署方式提交Redis服务器的访问请求,提高了部署Redis服务器时的工作效率和灵活性。
具体地,本申请实施例可以根据上述方法示例对Redis服务器部署装置进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
需要说明的是,对于前述的任一种Redis服务器部署方法的实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请所必须的。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请一种Redis服务器部署方法的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请一种Redis服务器部署方法的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现所公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
本领域普通技术人员可以理解上述任一种Redis服务器部署方法的方法实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
显然,本领域的技术人员可以对本申请提供的一种Redis服务器部署方法进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种Redis服务器部署方法,应用于目标客户端中,其特征在于,所述方法包括:
在接收到用于访问Redis服务器的访问请求时,读取远程服务器中的Redis服务器配置信息;
根据所述Redis服务器配置信息确定所述Redis服务器的目标部署方式,所述目标部署方式为单节点模式、集群模式或哨兵模式;
根据所述目标部署方式提交所述Redis服务器的访问请求。
2.根据权利要求1所述的方法,其特征在于,所述目标客户端包括目标组件,所述目标组件中包括Redis服务器配置文件,所述Redis服务器配置文件包括以下至少一种配置文件:所述单节点模式的配置文件、所述集群模式的配置文件、所述哨兵模式的配置文件,所述根据所述目标部署方式提交所述Redis服务器的访问请求,包括:
根据所述目标部署方式从所述Redis服务器配置文件中获取所述目标部署方式对应的配置文件;
将所述目标部署方式对应的配置文件注入Spring容器中,并完成对所述目标部署方式的实例化;
采用实例化后的目标部署方式提交所述Redis服务器的访问请求。
3.根据权利要求2所述的方法,其特征在于,所述目标组件中的Redis服务器配置文件采用唯一接口类进行调用。
4.根据权利要求3所述的方法,其特征在于,所述目标组件集成在目标应用中,所述目标组件中的Redis服务器配置文件采用的唯一接口类与所述目标应用采用的接口类为同一个接口类。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述Redis服务器配置信息是由所述远程服务器根据Redis服务器运行环境确定,所述Redis服务器运行环境包括正式环境或非正式环境,所述正式环境包括生产环境,所述非正式环境包括开发环境或测试环境。
6.根据权利要求5所述的方法,其特征在于,所述Redis服务器运行环境为正式环境时,所述Redis服务器配置信息确定的目标部署方式为集群模式或哨兵模式;所述Redis服务器运行环境为非正式环境时,所述Redis服务器配置信息确定的目标部署方式为单节点模式。
7.根据权利要求2所述的方法,其特征在于,在所述根据所述目标部署方式从所述Redis服务器配置文件中获取所述目标部署方式对应的配置文件之前,所述方法还包括:确定所述Redis服务器配置文件中包括所述目标部署方式对应的配置文件。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
若确定所述Redis服务器配置文件中不包括所述目标部署方式对应的配置文件,则向所述远程服务器发送提示信息用于提示所述目标客户端不包括所述目标部署方式对应的配置文件,并执行以下步骤:
在所述目标部署方式为集群模式或哨兵模式的情况下,获取新的目标组件,所述新的目标组件包括所述目标部署方式对应的配置文件;
在所述目标部署方式为单节点模式的情况下,接收重读取指示,所述重读取指示用于指示重新读取Redis服务器配置信息,所述Redis服务器配置信息为将所述目标部署方式更新为非单节点模式之后确定的。
9.一种电子设备,其特征在于,包括处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机执行指令,当所述计算机执行指令被运行时,使得所述电子设备执行权利要求1-8任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机指令,当所述计算机指令在通信装置上运行时,使得所述通信装置执行权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210270377.3A CN116795620A (zh) | 2022-03-18 | 2022-03-18 | 一种Redis服务器部署方法、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210270377.3A CN116795620A (zh) | 2022-03-18 | 2022-03-18 | 一种Redis服务器部署方法、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116795620A true CN116795620A (zh) | 2023-09-22 |
Family
ID=88042512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210270377.3A Pending CN116795620A (zh) | 2022-03-18 | 2022-03-18 | 一种Redis服务器部署方法、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116795620A (zh) |
-
2022
- 2022-03-18 CN CN202210270377.3A patent/CN116795620A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110389900B (zh) | 一种分布式数据库集群测试方法、装置及存储介质 | |
CN108614726B (zh) | 虚拟机创建方法及装置 | |
CN112000348A (zh) | 服务灰度发布的控制方法、装置、计算机设备 | |
CN112118565A (zh) | 多租户服务灰度发布方法、装置、计算机设备和存储介质 | |
CN112035228A (zh) | 一种资源调度方法及装置 | |
CN114398191A (zh) | 远程服务调用方法、系统、计算机设备及存储介质 | |
CN111221630A (zh) | 业务流程处理方法、装置、设备、可读存储介质及系统 | |
US20230297352A1 (en) | Method for Starting Serverless Container and Related Device | |
CN111443919B (zh) | Dsp多核处理器上sca核心框架的实现方法 | |
CN113268275B (zh) | 一种基于微内核的硬件设备驱动系统及其驱动方法 | |
CN116800616B (zh) | 虚拟化网络设备的管理方法及相关装置 | |
CN112134922B (zh) | 一种基于微服务的服务调用方法、装置及存储介质 | |
CN113626095A (zh) | 配置中心的切换方法、切换系统、电子设备及存储介质 | |
CN113821220A (zh) | 一种linux操作系统的安装方法和装置 | |
CN112099902A (zh) | 虚拟机的网络适配器配置方法、装置、电子装置和存储介质 | |
CN116795620A (zh) | 一种Redis服务器部署方法、电子设备和存储介质 | |
CN116755788A (zh) | 一种线上规则修改方法、装置、设备及存储介质 | |
CN103631704B (zh) | 通信设备的自动化测试系统及方法 | |
CN114416202B (zh) | 一种移动端sdk调用方法及系统 | |
CN115794372A (zh) | 一种跨语言应用系统间通信的方法、系统 | |
CN115129740A (zh) | 一种云原生环境下的分布式微服务数据库更新方法及系统 | |
CN113779638A (zh) | 一种动态代理模式下实现接口调用方鉴权的方法及装置 | |
CN114610446A (zh) | 一种自动注入探针的方法、装置及系统 | |
JP4063573B2 (ja) | デバイスドライバの組み込み・実行方式、組み込み・実行方法、及びプログラム | |
CN112214213A (zh) | Linux内核的开发和管理方法、装置、计算机设备和存储介质 |
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 |