本申请涉及库存数据扣减,具体地说,尤其涉及一种基于redis实现高并发库存增减的管理方法,此外,本申请还涉及一种基于redis实现高并发库存增减的管理系统、一种基于redis实现高并发库存增减管理方法的应用方法、一种电子设备。
背景技术:
1、数字化是当下业务发展的潮流,通过数字化技术对物料库存进行管理时,需要对某个物料库存进行扣减。而大量用户请求同时对同一库存进行操作会对系统库存造成不可控制的局面。
2、在现有技术中,一般使用分布式锁和使用rabbitmq、kafka等中间件解决异步解耦的问题。例如使用zookeeper、redis、mysql实现分布式锁,所有后续操作都必须基于获得锁的前提下进行;通过消息中间件实现异步处理,削峰填谷来处理瞬时涌入的大量请求,使用队列对其按照匀速进行异步处理。
3、然而,现有技术方案存在着一些以下问题,在使用悲观锁实现的方案时,仅允许一个请求成功,其余请求失败,导致线程重试和系统压力增加,高并发业务处理能力低。
4、因此,如何提供一种基于redis实现高并发库存增减的管理方法,其能够简化库存管理模块的结构、维护简单、可扩展性强,在高并发场景下,减少系统压力,已经成为本领域技术人员亟待解决的技术问题。
技术实现思路
1、为解决上述技术问题,本申请提供一种基于redis实现高并发库存增减的管理方法,其能够简化库存管理模块的结构、维护简单、可扩展性强,在高并发场景下,减少系统压力。此外,本申请还涉及一种基于redis实现高并发库存增减的管理系统、基于redis实现高并发库存增减管理方法的应用方法和电子设备,同样具有上述有益效果。
2、本申请提供的技术方案如下:
3、本申请提供一种基于redis实现高并发库存增减的管理方法,该方法包括以下步骤:获取第一请求信息,所述第一请求信息来自于用户客户端;通过redis库存队列模块,对所述第一请求信息进行数值判断分析,识别能够满足扣减数量要求的所述第一请求信息,并保存在第一队列中,所述第一队列为与指定物品数量关联的redis库存队列;根据所述第一队列,对库存数据进行扣减处理。
4、进一步地,在本发明一种优选的方式中,所述“根据所述第一队列,对库存数据进行扣减处理”具体包括以下步骤:结合springboot的stringredistemplate,根据所述第一队列,对数据库中的库存数据进行扣减处理。
5、进一步地,在本发明一种优选的方式中,所述扣减处理为异步扣减处理。
6、进一步地,在本发明一种优选的方式中,所述“识别能够满足扣减数量要求的所述第一请求信息,并保存在第一队列中”具体包括以下步骤:分析所述第一请求信息,识别需扣减数量;根据所述需扣减数量与所述第一队列中的剩余数量进行比对;若满足,则向客户端输出第一特定值,并将所述第一请求信息保存在所述第一队列中;若不满足,则向客户端输出第二特定值。
7、进一步地,在本发明一种优选的方式中,所述第一特定值为扣减成功提示或扣减后剩余数量;所述第二特定值为扣减失败提示或null值。
8、进一步地,在本发明一种优选的方式中,该管理方法还包括以下步骤:当识别到所述redis库存队列模块发出所述第二特定值时,发出所述第一队列对应物品数量不足提示。
9、进一步地,在本发明一种优选的方式中,所述“保存在第一队列中”具体包括以下步骤:所述redis库存队列模块通过lpush、rpop命令,对所述第一队列进行所述第一请求信息的左进右出的队列管理。
10、此外,本申请还提供一种基于redis实现高并发库存增减的管理系统,该系统用于执行上述的基于redis实现高并发库存增减的管理方法,该管理系统包括:第一获取模块,所述第一获取模块用于获取第一请求信息,所述第一请求信息来自于用户客户端;第一分析模块,所述第一分析模块用于通过redis库存队列模块,对所述第一请求信息进行数值判断分析,识别能够满足扣减数量要求的所述第一请求信息,并保存在第一队列中;第一执行模块,所述第一执行模块用于根据所述第一队列,对库存数据进行扣减处理。
11、此外,本申请还提供一种基于redis实现高并发库存增减管理方法的应用方法,包括:在库存管理系统中,基于springboot框架引入redis库存队列模块,引入实现redis数据管理的依赖;基于所述springboot框架中的配置文件application,对所述redis库存队列模块进行配置;其中,写入执行上述的基于redis实现高并发库存增减的管理方法的算法。
12、此外,本申请还提供一种电子设备,包括:计算机程序,所述计算机程序用于执行上述的基于redis实现高并发库存增减的管理方法;存储器,所述存储器用于存储所述计算机程序;处理器,所述处理器用于执行所述计算机程序。
13、本发明提供的一种基于redis实现高并发库存增减的管理方法,与现有技术相比,获取来自用户客户端的第一请求信息后,通过redis库存队列模块进行识别解析后得到该第一请求信息中包含的对指定物品库存扣减指令,并根据库存扣减指令,判断当前第一队列的剩余库存是否满足要求;满足则把该库存扣减指令保存入第一队列中,以便于redis进行单线程的逐个处理,对对应物品的库存数据进行扣减处理。本申请提供的技术方案,能够简化库存管理模块的结构、维护简单、可扩展性强,在高并发场景下,减少系统压力。
14、本方案的有益效果包括:
15、1.基于redis单线程特性以及基于内存操作的高性能特性,很好的解决了高并发情况下性能问题以及数据并发安全性问题。
16、2.基于redis的list双向链表结构实现,降低系统复杂度,易于维护,同时易扩展,当我们需要增加或者删减库存时,只需要对其对应的key进行删减。
1.一种基于redis实现高并发库存增减的管理方法,其特征在于,该管理方法包括以下步骤:
2.根据权利要求1所述的基于redis实现高并发库存增减的管理方法,其特征在于,所述“根据所述第一队列,对库存数据进行扣减处理”具体包括以下步骤:
3.根据权利要求2所述的基于redis实现高并发库存增减的管理方法,其特征在于,所述扣减处理为异步扣减处理。
4.根据权利要求2所述的基于redis实现高并发库存增减的管理方法,其特征在于,所述“识别能够满足扣减数量要求的所述第一请求信息,并保存在第一队列中”具体包括以下步骤:
5.根据权利要求4所述的基于redis实现高并发库存增减的管理方法,其特征在于,
6.根据权利要求5所述的基于redis实现高并发库存增减的管理方法,其特征在于,该管理方法还包括以下步骤:
7.根据权利要求1所述的基于redis实现高并发库存增减的管理方法,其特征在于,所述“保存在第一队列中”具体包括以下步骤:
8.一种基于redis实现高并发库存增减的管理系统,其特征在于,该系统用于执行权利要求1至7中任一项所述的基于redis实现高并发库存增减的管理方法,该管理系统包括:
9.一种基于redis实现高并发库存增减管理方法的应用方法,其特征在于,包括:
10.电子设备,其特征在于,包括: