CN117439993A - Redis集群负载均衡方法、装置、设备及存储介质 - Google Patents
Redis集群负载均衡方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117439993A CN117439993A CN202311782449.3A CN202311782449A CN117439993A CN 117439993 A CN117439993 A CN 117439993A CN 202311782449 A CN202311782449 A CN 202311782449A CN 117439993 A CN117439993 A CN 117439993A
- Authority
- CN
- China
- Prior art keywords
- key
- value pair
- key value
- replacement
- slot
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000004891 communication Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种Redis集群负载均衡方法、装置、设备及存储介质,该方法包括:若任一槽位中的键值对数量大于预设阈值,则将该槽位标记为易满槽位,针对该槽位中的每个键值对,根据预设算法和键值对中的键得到替换键,根据键值对中的值和替换键得到等效键值对,将等效键值对写入替换键对应的槽位,删除键值对,其中,不同的键基于预设算法得到的键不同;若用户操作使用的键对应的槽位为易满槽位,则根据预设算法和用户操作使用的键得到替换键,通过替换键对应的槽位对应的节点进行相关操作。通过本申请,在用户无感知的情况下,对键值对数据过多的槽位进行减负,使得Redis集群的负载分布更均匀。
Description
技术领域
本申请涉及数据存储技术领域,具体涉及一种Redis集群负载均衡方法、装置、设备及存储介质。
背景技术
Redis 集群是一个可以在多个节点之间进行数据共享的设施。一个 Redis 集群包含16384 个槽位(slot),对于进入Redis的每个键值对,将键值对(key-value)中的键经过CRC16计算后对16384取模来决定键值对放置哪个槽位,每一个节点负责维护一部分槽位以及槽位中的键值对。Redis集群构建完成后,会维护每个节点对应的槽位。
然而,当哈希分布不均匀时,某些槽位中的键值对数量可能特别多,这些键值对数量多的槽位又可能对应同一个节点,导致Redis集群中不同节点的负载不平衡,某些节点的负载过重而其他的节点则相对空闲。
发明内容
本申请提供一种Redis集群负载均衡方法、装置、设备及存储介质,可以解决现有技术中存在的Redis集群中不同节点的负载不平衡的技术问题。
第一方面,本申请实施例提供一种Redis集群负载均衡方法,所述Redis集群负载均衡方法包括:
若任一槽位中的键值对数量大于预设阈值,则将该槽位标记为易满槽位,针对该槽位中的每个键值对,根据预设算法和键值对中的键得到替换键,根据键值对中的值和替换键得到等效键值对,将等效键值对写入替换键对应的槽位,删除键值对,其中,不同的键基于预设算法得到的键不同;
若用户操作使用的键对应的槽位为易满槽位,则根据预设算法和用户操作使用的键得到替换键,通过替换键对应的槽位对应的节点进行相关操作。
进一步地,一实施例中,所述根据预设算法和键值对中的键得到替换键的步骤包括:
若键值对中的键不具有特征标识,则由键值对中的键生成具有特征标识的替换键;
若键值对中的键具有特征标识,则将键值对中的键作为替换键。
进一步地,一实施例中,所述由键值对中的键生成具有特征标识的替换键的步骤包括:
根据键值对中的键和哈希算法生成中间结果;
向中间结果添加特征标识得到替换键。
进一步地,一实施例中,当用户操作为添加键值对时,相关操作包括:
根据用户输入的值和替换键得到等效键值对,将等效键值对写入替换键对应的槽位。
进一步地,一实施例中,当用户操作为读取键值对、修改键值对或删除键值对时,相关操作包括:
根据替换键获取对应的等效键值对,针对等效键值对进行读取、修改或删除操作。
第二方面,本申请实施例还提供一种Redis集群负载均衡装置,所述Redis集群负载均衡装置包括:
减负模块,用于若任一槽位中的键值对数量大于预设阈值,则将该槽位标记为易满槽位,针对该槽位中的每个键值对,根据预设算法和键值对中的键得到替换键,根据键值对中的值和替换键得到等效键值对,将等效键值对写入替换键对应的槽位,删除键值对,其中,不同的键基于预设算法得到的键不同;
访问模块,用于若用户操作使用的键对应的槽位为易满槽位,则根据预设算法和用户操作使用的键得到替换键,通过替换键对应的槽位对应的节点进行相关操作。
进一步地,一实施例中,所述减负模块用于:
若键值对中的键不具有特征标识,则由键值对中的键生成具有特征标识的替换键;
若键值对中的键具有特征标识,则将键值对中的键作为替换键。
进一步地,一实施例中,所述减负模块用于:
根据键值对中的键和哈希算法生成中间结果;
向中间结果添加特征标识得到替换键。
第三方面,本申请实施例还提供一种Redis集群负载均衡设备,所述Redis集群负载均衡设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的Redis集群负载均衡程序,其中所述Redis集群负载均衡程序被所述处理器执行时,实现上述Redis集群负载均衡方法的步骤。
第四方面,本申请实施例还提供一种存储介质,所述存储介质上存储有Redis集群负载均衡程序,其中所述Redis集群负载均衡程序被处理器执行时,实现上述Redis集群负载均衡方法的步骤。
本申请中,在任一槽位的键值对数量超出预设阈值后将该槽位标记为易满槽位,通过预设算法对原键值对中的键进行二次计算得到替换键,进而将原键值对转换为等效键值对以实现槽位的二次分配,对易满槽位进行减负。用户操作时,先检测用户操作使用的键对应的槽位是否为易满槽位,若不为易满槽位,执行常规流程,若为易满槽位,则通过预设算法对用户操作使用的键进行二次计算得到替换键,进而将用户针对原键值对的操作转换为针对等效键值对的操作。通过本申请,在用户无感知的情况下,对槽位中的键值对数量进行有效控制,使得Redis集群中不同节点的负载分布更均匀。
附图说明
图1为本申请一实施例中Redis集群负载均衡方法的流程示意图;
图2为现有技术中客户端访问Redis集群的流程示意图;
图3为本申请一实施例中客户端访问Redis集群的流程示意图;
图4为本申请实施例方案中涉及的Redis集群负载均衡设备的硬件结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
第一方面,本申请实施例提供一种Redis集群负载均衡方法。
图1示出了本申请一实施例中Redis集群负载均衡方法的流程示意图。
参照图1,一实施例中,Redis集群负载均衡方法包括如下步骤:
S11、若任一槽位中的键值对数量大于预设阈值,则将该槽位标记为易满槽位,针对该槽位中的每个键值对,根据预设算法和键值对中的键得到替换键,根据键值对中的值和替换键得到等效键值对,将等效键值对写入替换键对应的槽位,删除键值对,其中,不同的键基于预设算法得到的键不同。
本实施例中,当某槽位中的键值对数量大于预设阈值时,说明该槽位的负载过重,需要进行减负操作。减负操作具体为,通过预设算法对原键值对key-value中的键key进行二次计算得到替换键key’,进而将key-value转换为等效键值对key’-value以实现槽位的二次分配。其中,不同的键基于预设算法得到的键不同,即输入的键与输出的键构成一一映射关系,避免存储数据发生混乱。
需要说明的是,由于部分替换键对应的槽位可能还是原来的槽位,减负操作后可能会有部分等效键值对被写入原来的槽位中,原来的槽位不一定会变为完全清空的状态,但其中的键值对数量会大幅减少,从而起到减负的作用。
如此,针对易满槽位的减负操作使得槽位中的键值对数量得到有效控制,避免出现某些槽位中的键值对数量特别多的情况,通过合理配置各节点对应的槽位的数量,即可实现Redis集群中不同节点的负载均匀分布。
特别说明,易满槽位是一种标记状态,表示该槽位中的键值对数量曾经超出预设阈值,而不代表该槽位中实时的键值对数量。本步骤中写入等效键值对和删除键值对的顺序可以调换,不影响方案实施。
S12、若用户操作使用的键对应的槽位为易满槽位,则根据预设算法和用户操作使用的键得到替换键,通过替换键对应的槽位对应的节点进行相关操作。
图2示出了现有技术中客户端访问Redis集群的流程示意图。
参照图2,现有技术中,用户通过客户端访问Redis集群的流程如下:客户端先根据公式SLOT = CRC16(key) mod 16384计算用户操作使用的键key所在的槽位SLOT,然后根据SLOT以及槽位与节点的映射信息得到节点地址,最后根据节点地址和key访问Redis集群,通过对应节点进行相关操作。而本申请中由于标记了易满槽位并对其进行了减负操作,用户通过客户端访问Redis集群的整体流程会有所不同。
具体地,当用户操作为读取键值对、修改键值对或删除键值对时,相关操作包括:
根据替换键获取对应的等效键值对,针对等效键值对进行读取、修改或删除操作。
本实施例中,当用户针对之前添加的原键值对key-value请求执行读取、修改或删除操作时,由于原键值对key-value之前所在的槽位被标记为易满槽位并进行了减负操作,原键值对key-value已被删除,故无法通过用户操作使用的键key直接找到原键值对key-value,而需要根据预设算法和用户操作使用的键key得到替换键key’,进而通过替换键key’找到等效键值对key’-value,读取、修改或删除操作是通过替换键key’对应的槽位对应的节点来执行的。
进一步地,一实施例中,当用户操作为添加键值对时,相关操作包括:
根据用户输入的值和替换键得到等效键值对,将等效键值对写入替换键对应的槽位。
本实施例中,当用户请求执行添加键值对key-value的操作时,由于key对应的槽位被标记为易满槽位,表示该槽位中的键值对数量曾经超出预设阈值,相比其他槽位更容易受到哈希不均匀的影响导致被写入过多键值对,故不允许用户直接向该槽位写入键值对key-value,而需要根据预设算法和用户操作使用的键key得到替换键key’,根据用户输入的值value和替换键key’得到等效键值对key’-value,将等效键值对key’-value写入替换键key’对应的槽位,写入操作是通过替换键key’对应的槽位对应的节点来执行的。
如此,易满槽位不允许直接写入用户定义的原键值对,只允许写入由用原键值对转换得到的等效键值对,从而降低哈希不均匀对于易满槽位的影响程度,避免易满槽位在减负操作之后又被写入过多键值对。在后续过程中,若易满槽位的实时键值对数量再次大于预设阈值,则说明Redis集群中键值对的总量过多,Redis集群整体负载过重,需要采取其他手段。
图3示出了本申请一实施例中客户端访问Redis集群的流程示意图。
参照图3,一实施例中,用户通过客户端访问Redis集群的流程如下:客户端将用户操作使用的键key传入代理层,代理层以key对KEY进行第一次赋值,第一次计算KEY对应的槽位SLOT,检测SLOT是否为易满槽位,若SLOT不为易满槽位,则直接获取SLOT对应的节点地址,若SLOT为易满槽位,则根据预设算法和KEY得到key’,以key’对KEY进行第二次赋值,第二次计算KEY对应的槽位SLOT,获取SLOT对应的节点地址,最后根据节点地址和KEY访问Redis集群,通过对应节点进行相关操作。
从图2、图3可以明显看出,本申请中代理层的内部流程对于用户来说是无感知的,对于用户来说,无需改变操作使用的键即可实现相同的操作。
由此,本实施例中,在任一槽位的键值对数量超出预设阈值后将该槽位标记为易满槽位,通过预设算法对原键值对中的键进行二次计算得到替换键,进而将原键值对转换为等效键值对以实现槽位的二次分配,对易满槽位进行减负。用户操作时,先检测用户操作使用的键对应的槽位是否为易满槽位,若不为易满槽位,执行常规流程,若为易满槽位,则通过预设算法对用户操作使用的键进行二次计算得到替换键,进而将用户针对原键值对的操作转换为针对等效键值对的操作。通过本实施例,在用户无感知的情况下,对槽位中的键值对数量进行有效控制,使得Redis集群中不同节点的负载分布更均匀。
当Redis集群中先后出现多个易满槽位时,后出现的易满槽位可能在减负操作之前就存储了一些从先出现的易满槽位迁移过来的等效键值对,如果将这些等效键值对再转换为新的键值对,会使得用户访问时生成的替换键无法找到对应的等效键值对。
进一步地,一实施例中,所述根据预设算法和键值对中的键得到替换键的步骤包括:
若键值对中的键不具有特征标识,则由键值对中的键生成具有特征标识的替换键;
若键值对中的键具有特征标识,则将键值对中的键作为替换键。
本实施例中,对预设算法进行限制,使得预设算法输出的键均具有特征标识,且向预设算法输入具有特征标识的键时,输出的键与输入的键相同。例如,向预设算法输入key或key’时,均会输出key’。如此,易满槽位中的等效键值对会保留在原本的槽位中,不会迁移到其他槽位,确保用户访问时生成的替换键能够找到对应的等效键值对。
进一步地,一实施例中,所述由键值对中的键生成具有特征标识的替换键的步骤包括:
根据键值对中的键和哈希算法生成中间结果;
向中间结果添加特征标识得到替换键。
本实施例中,利用哈希算法生成中间结果,由于哈希算法对输入数据非常敏感,即使输入的数据高度相似,最后得到的哈希值也大不相同,从而确保不同的键基于预设算法得到的键不同。
第二方面,本申请实施例还提供一种Redis集群负载均衡装置。
一实施例中,Redis集群负载均衡装置包括:
减负模块,用于若任一槽位中的键值对数量大于预设阈值,则将该槽位标记为易满槽位,针对该槽位中的每个键值对,根据预设算法和键值对中的键得到替换键,根据键值对中的值和替换键得到等效键值对,将等效键值对写入替换键对应的槽位,删除键值对,其中,不同的键基于预设算法得到的键不同;
访问模块,用于若用户操作使用的键对应的槽位为易满槽位,则根据预设算法和用户操作使用的键得到替换键,通过替换键对应的槽位对应的节点进行相关操作。
进一步地,一实施例中,所述减负模块用于:
若键值对中的键不具有特征标识,则由键值对中的键生成具有特征标识的替换键;
若键值对中的键具有特征标识,则将键值对中的键作为替换键。
进一步地,一实施例中,所述减负模块用于:
根据键值对中的键和哈希算法生成中间结果;
向中间结果添加特征标识得到替换键。
进一步地,一实施例中,当用户操作为添加键值对时,相关操作包括:
根据用户输入的值和替换键得到等效键值对,将等效键值对写入替换键对应的槽位。
进一步地,一实施例中,当用户操作为读取键值对、修改键值对或删除键值对时,相关操作包括:
根据替换键获取对应的等效键值对,针对等效键值对进行读取、修改或删除操作。
其中,上述Redis集群负载均衡装置中各个模块的功能实现与上述Redis集群负载均衡方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
第三方面,本申请实施例提供一种Redis集群负载均衡设备,Redis集群负载均衡设备可以是个人计算机(personal computer,PC)、笔记本电脑、服务器等具有数据处理功能的设备。
图4示出了本申请实施例方案中涉及的Redis集群负载均衡设备的硬件结构示意图。
参照图4,本申请实施例中,Redis集群负载均衡设备可以包括处理器、存储器、通信接口以及通信总线。
其中,通信总线可以是任何类型的,用于实现处理器、存储器以及通信接口互连。
通信接口包括输入/输出(input/output,I/O)接口、物理接口和逻辑接口等用于实现Redis集群负载均衡设备内部的器件互连的接口,以及用于实现Redis集群负载均衡设备与其他设备(例如其他计算设备或用户设备)互连的接口。物理接口可以是以太网接口、光纤接口、ATM接口等;用户设备可以是显示屏(Display)、键盘(Keyboard)等。
存储器可以是各种类型的存储介质,例如随机存取存储器 (random accessmemory,RAM)、只读存储器(read-only memory,ROM)、非易失性RAM(non-volatile RAM,NVRAM)、闪存、光存储器、硬盘、可编程ROM(programmable ROM,PROM)、可擦除PROM(erasable PROM,EPROM)、电可擦除PROM(electrically erasable PROM,EEPROM)等。
处理器可以是通用处理器,通用处理器可以调用存储器中存储的Redis集群负载均衡程序,并执行本申请实施例提供的Redis集群负载均衡方法。例如,通用处理器可以是中央处理器(central processing unit,CPU)。其中,Redis集群负载均衡程序被调用时所执行的方法可参照本申请Redis集群负载均衡方法的各个实施例,此处不再赘述。
本领域技术人员可以理解,图4中示出的硬件结构并不构成对本申请的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
第四方面,本申请实施例还提供一种存储介质。
本申请存储介质上存储有Redis集群负载均衡程序,其中所述Redis集群负载均衡程序被处理器执行时,实现如上述的Redis集群负载均衡方法的步骤。
其中,Redis集群负载均衡程序被执行时所实现的方法可参照本申请Redis集群负载均衡方法的各个实施例,此处不再赘述。
需要说明的是,上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本申请的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。术语“第一”、“第二”和“第三”等描述,是用于区分不同的对象等,其不代表先后顺序,也不限定“第一”、“第二”和“第三”是不同的类型。
在本申请实施例的描述中,“示例性的”、“例如”或者“举例来说”等用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”、“例如”或者“举例来说”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”、“例如”或者“举例来说”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
在本申请实施例描述的一些流程中,包含了按照特定顺序出现的多个操作或步骤,但是应该理解,这些操作或步骤可以不按照其在本申请实施例中出现的顺序来执行或并行执行,操作的序号仅用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作或步骤可以按顺序执行或并行执行,并且这些操作或步骤可以进行组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种Redis集群负载均衡方法,其特征在于,所述Redis集群负载均衡方法包括:
若任一槽位中的键值对数量大于预设阈值,则将该槽位标记为易满槽位,针对该槽位中的每个键值对,根据预设算法和键值对中的键得到替换键,根据键值对中的值和替换键得到等效键值对,将等效键值对写入替换键对应的槽位,删除键值对,其中,不同的键基于预设算法得到的键不同;
若用户操作使用的键对应的槽位为易满槽位,则根据预设算法和用户操作使用的键得到替换键,通过替换键对应的槽位对应的节点进行相关操作。
2.如权利要求1所述的Redis集群负载均衡方法,其特征在于,所述根据预设算法和键值对中的键得到替换键的步骤包括:
若键值对中的键不具有特征标识,则由键值对中的键生成具有特征标识的替换键;
若键值对中的键具有特征标识,则将键值对中的键作为替换键。
3.如权利要求2所述的Redis集群负载均衡方法,其特征在于,所述由键值对中的键生成具有特征标识的替换键的步骤包括:
根据键值对中的键和哈希算法生成中间结果;
向中间结果添加特征标识得到替换键。
4.如权利要求1所述的Redis集群负载均衡方法,其特征在于,当用户操作为添加键值对时,相关操作包括:
根据用户输入的值和替换键得到等效键值对,将等效键值对写入替换键对应的槽位。
5.如权利要求1所述的Redis集群负载均衡方法,其特征在于,当用户操作为读取键值对、修改键值对或删除键值对时,相关操作包括:
根据替换键获取对应的等效键值对,针对等效键值对进行读取、修改或删除操作。
6.一种Redis集群负载均衡装置,其特征在于,所述Redis集群负载均衡装置包括:
减负模块,用于若任一槽位中的键值对数量大于预设阈值,则将该槽位标记为易满槽位,针对该槽位中的每个键值对,根据预设算法和键值对中的键得到替换键,根据键值对中的值和替换键得到等效键值对,将等效键值对写入替换键对应的槽位,删除键值对,其中,不同的键基于预设算法得到的键不同;
访问模块,用于若用户操作使用的键对应的槽位为易满槽位,则根据预设算法和用户操作使用的键得到替换键,通过替换键对应的槽位对应的节点进行相关操作。
7.如权利要求6所述的Redis集群负载均衡装置,其特征在于,所述减负模块用于:
若键值对中的键不具有特征标识,则由键值对中的键生成具有特征标识的替换键;
若键值对中的键具有特征标识,则将键值对中的键作为替换键。
8.如权利要求7所述的Redis集群负载均衡装置,其特征在于,所述减负模块用于:
根据键值对中的键和哈希算法生成中间结果;
向中间结果添加特征标识得到替换键。
9.一种Redis集群负载均衡设备,其特征在于,所述Redis集群负载均衡设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的Redis集群负载均衡程序,其中所述Redis集群负载均衡程序被所述处理器执行时,实现如权利要求1至5中任一项所述的Redis集群负载均衡方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有Redis集群负载均衡程序,其中所述Redis集群负载均衡程序被处理器执行时,实现如权利要求1至5中任一项所述的Redis集群负载均衡方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311782449.3A CN117439993B (zh) | 2023-12-22 | 2023-12-22 | Redis集群负载均衡方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311782449.3A CN117439993B (zh) | 2023-12-22 | 2023-12-22 | Redis集群负载均衡方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117439993A true CN117439993A (zh) | 2024-01-23 |
CN117439993B CN117439993B (zh) | 2024-04-16 |
Family
ID=89558761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311782449.3A Active CN117439993B (zh) | 2023-12-22 | 2023-12-22 | Redis集群负载均衡方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117439993B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170230457A1 (en) * | 2016-02-05 | 2017-08-10 | Microsoft Technology Licensing, Llc | Idempotent Server Cluster |
CN112527768A (zh) * | 2020-12-07 | 2021-03-19 | 中国平安人寿保险股份有限公司 | 一种远程字典服务器Redis键值Key管理方法及其相关装置 |
CN112650737A (zh) * | 2020-12-31 | 2021-04-13 | 北京大米科技有限公司 | 数据处理方法、数据处理装置、存储介质和电子设备 |
CN112732427A (zh) * | 2021-01-13 | 2021-04-30 | 广州虎牙科技有限公司 | 一种基于Redis集群的数据处理方法、系统和相关装置 |
KR20210052845A (ko) * | 2019-11-01 | 2021-05-11 | 서울과학기술대학교 산학협력단 | 범용적인 데이터 저장을 위한 윈도우 운영체계에서의 저장 시스템 및 그 방법 |
CN114756527A (zh) * | 2022-04-12 | 2022-07-15 | 上海途虎信息技术有限公司 | Redis集群的扩容方法、装置、电子设备和存储介质 |
CN115455006A (zh) * | 2022-09-21 | 2022-12-09 | 中国平安人寿保险股份有限公司 | 数据处理方法、数据处理装置、电子设备及存储介质 |
CN116069489A (zh) * | 2021-11-01 | 2023-05-05 | 青岛海尔科技有限公司 | 一种自动负载均衡分配方法及系统 |
CN116521688A (zh) * | 2023-07-04 | 2023-08-01 | 浩鲸云计算科技股份有限公司 | 一种基于Redis集群的KEY前缀操作键值方法 |
CN116842012A (zh) * | 2023-06-29 | 2023-10-03 | 中国平安财产保险股份有限公司 | 一种Redis集群的分片存储方法、装置、设备及存储介质 |
-
2023
- 2023-12-22 CN CN202311782449.3A patent/CN117439993B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170230457A1 (en) * | 2016-02-05 | 2017-08-10 | Microsoft Technology Licensing, Llc | Idempotent Server Cluster |
KR20210052845A (ko) * | 2019-11-01 | 2021-05-11 | 서울과학기술대학교 산학협력단 | 범용적인 데이터 저장을 위한 윈도우 운영체계에서의 저장 시스템 및 그 방법 |
CN112527768A (zh) * | 2020-12-07 | 2021-03-19 | 中国平安人寿保险股份有限公司 | 一种远程字典服务器Redis键值Key管理方法及其相关装置 |
CN112650737A (zh) * | 2020-12-31 | 2021-04-13 | 北京大米科技有限公司 | 数据处理方法、数据处理装置、存储介质和电子设备 |
CN112732427A (zh) * | 2021-01-13 | 2021-04-30 | 广州虎牙科技有限公司 | 一种基于Redis集群的数据处理方法、系统和相关装置 |
CN116069489A (zh) * | 2021-11-01 | 2023-05-05 | 青岛海尔科技有限公司 | 一种自动负载均衡分配方法及系统 |
CN114756527A (zh) * | 2022-04-12 | 2022-07-15 | 上海途虎信息技术有限公司 | Redis集群的扩容方法、装置、电子设备和存储介质 |
CN115455006A (zh) * | 2022-09-21 | 2022-12-09 | 中国平安人寿保险股份有限公司 | 数据处理方法、数据处理装置、电子设备及存储介质 |
CN116842012A (zh) * | 2023-06-29 | 2023-10-03 | 中国平安财产保险股份有限公司 | 一种Redis集群的分片存储方法、装置、设备及存储介质 |
CN116521688A (zh) * | 2023-07-04 | 2023-08-01 | 浩鲸云计算科技股份有限公司 | 一种基于Redis集群的KEY前缀操作键值方法 |
Non-Patent Citations (2)
Title |
---|
WZ丸子建站: "解密Redis负载均衡:提高系统效力的必要技能", Retrieved from the Internet <URL:https://www.wanzijz.com/view/15839.html> * |
张敬伟;丁志均;杨青;张会兵;张海涛;周娅;: "异构Redis集群大规模评论数据存储负载均衡设计", 华东师范大学学报(自然科学版), no. 05, 25 September 2017 (2017-09-25) * |
Also Published As
Publication number | Publication date |
---|---|
CN117439993B (zh) | 2024-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109344153B (zh) | 业务数据的处理方法及终端设备 | |
CN107832062B (zh) | 一种程序更新方法及终端设备 | |
JP2012038317A (ja) | データセンター顧客費用決定メカニズム | |
US11270227B2 (en) | Method for managing a machine learning model | |
CN114531477B (zh) | 功能组件的配置方法、装置、计算机设备和存储介质 | |
CN109788006B (zh) | 数据均衡方法、装置及计算机设备 | |
CN117439993B (zh) | Redis集群负载均衡方法、装置、设备及存储介质 | |
CN116719646A (zh) | 热点数据处理方法、装置、电子装置和存储介质 | |
CN113132241B (zh) | Acl模板动态配置方法及装置 | |
CN110333944B (zh) | 话单数据业务处理方法及设备 | |
CN114070847A (zh) | 服务器的限流方法、装置、设备及存储介质 | |
CN113672375A (zh) | 资源分配预测方法、装置、设备及存储介质 | |
CN114466012B (zh) | 内容初始化方法、装置、电子设备和存储介质 | |
CN112269665B (zh) | 内存的处理方法和装置、电子设备和存储介质 | |
CN111694835B (zh) | 物流电子面单的号段存取方法及系统、设备及存储介质 | |
CN111858590B (zh) | 一种存储系统元数据组织方法、系统、终端及存储介质 | |
CN114281260A (zh) | 应用于分布式存储系统的存储方法、装置、设备及介质 | |
CN111783121A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN114327246A (zh) | 存储介质内数据存储方法、存储介质及计算机设备 | |
CN111651124A (zh) | Ssd映射表多核分区并行重建方法、装置、设备及介质 | |
CN116186046B (zh) | 设备数据的修改方法、装置、计算机设备及存储介质 | |
CN113411395B (zh) | 访问请求路由方法、装置、计算机设备和存储介质 | |
CN116737380B (zh) | 一种分布式存储器均衡存储方法、装置、设备及存储介质 | |
US11855908B2 (en) | Resource allocation in cloud computing systems | |
CN113806011B (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 |