一种缓存控制方法、装置、电子设备及存储介质制造方法及图纸

技术编号:36394093 阅读:15 留言:0更新日期:2023-01-18 09:59
本发明专利技术公开一种缓存控制方法、装置、电子设备及存储介质,方法包括:接收客户端发送的访问请求,判断缓存内是否存在与所述访问请求相对应的目标缓存数据;当判断结果为否时,根据访问请求的接收顺序给所述访问请求赋予公平锁,再次判断缓存内是否存在与所述访问请求相对应的目标缓存数据;当再次判断结果为否时,调用预设的自定义接口在数据库中查询所述目标缓存数据,并将所述目标缓存数据更新至所述缓存中;根据所述访问请求赋予的公平锁,将所述缓存中的目标缓存数据返回客户端。本发明专利技术解决了现有技术中在处理高并发时出现的缓存穿透和雪崩问题时,代码重复率较高的技术问题。题。题。

【技术实现步骤摘要】
一种缓存控制方法、装置、电子设备及存储介质


[0001]本专利技术涉及数据处理
,具体涉及一种缓存控制方法、装置、电子设备及存储介质。

技术介绍

[0002]随着科技的发展,缓存技术已经成为一种不可或缺的,在用于缓解数据源如数据库压力方面发挥着重要作用,能够在一定程度上提高系统的并发性和响应用户请求的速度。
[0003]传统研发人员在处理高并发时出现的缓存穿透和雪崩问题,往往是一个方法处理一次,导致代码重复率较高,维护成本大,尤其随着技术的发展,微服务技术成越来越成熟,使用场景越来越广,很多研发人员在处理高并发缓存穿透问题上缺乏多层次的考虑,只是单纯考虑一个应用的缓存穿透问题,从而导致生产事件发出。

技术实现思路

[0004]本专利技术的目的在于克服上述技术不足,提供一种可用于金融科技或其他相关领域的数据处理的缓存控制方法、装置、电子设备及存储介质,解决现有技术中在处理高并发时出现的缓存穿透和雪崩问题时,代码重复率较高的技术问题。
[0005]为达到上述技术目的,本专利技术采取了以下技术方案:
[0006]第一方面,本专利技术提供一种缓存控制方法,包括如下步骤:
[0007]接收客户端发送的访问请求,判断缓存内是否存在与所述访问请求相对应的目标缓存数据;
[0008]当判断结果为否时,根据访问请求的接收顺序给所述访问请求赋予公平锁,再次判断缓存内是否存在与所述访问请求相对应的目标缓存数据;
[0009]当再次判断结果为否时,调用预设的自定义接口在数据库中查询所述目标缓存数据,并将所述目标缓存数据更新至所述缓存中;
[0010]根据所述访问请求赋予的公平锁,将所述缓存中的目标缓存数据返回客户端。
[0011]在一些实施例中,所述自定义接口为泛型接口。
[0012]在一些实施例中,所述根据访问请求的接收顺序给所述访问请求赋予公平锁,包括:
[0013]根据所述访问请求的接收顺序对各个访问请求进行排序;
[0014]根据所述排序结果给排序在最前方的访问请求分配公平锁,并配置其它访问请求的公平锁等待时间。
[0015]在一些实施例中,所述数据缓存方法还包括:
[0016]在所述公平锁等待时间内,每隔预设时间执行一次公平锁获取请求,直至获取到公平锁为止,当在所述公平锁等待时间内未获取到公平锁时,对所述访问请求进行降级处理。
[0017]在一些实施例中,所述将所述目标缓存数据更新至所述缓存中,包括:
[0018]将所述查询到的目标缓存数据存储至所述缓存中,并设定所述目标缓存数据的有效时间。
[0019]在一些实施例中,所述根据所述访问请求赋予的公平锁,将所述缓存中的目标缓存数据返回客户端,包括:
[0020]将所述目标缓存数据对应的分布式锁分配给具有公平锁的访问请求,以使具有公平锁的访问请求处理运行状态;
[0021]响应于处于运行状态的访问请求,将所述访问请求对应的目标缓存数据反馈给所述访问请求对应的客户端。
[0022]在一些实施例中,所述响应于处于运行状态的访问请求,将所述访问请求对应的目标缓存数据反馈给所述访问请求对应的客户端之后,还包括:
[0023]释放所述分布式锁,以使其它客户端的访问请求恢复运行状态。
[0024]第二方面,本专利技术还提供一种缓存控制装置,包括:
[0025]访问请求接收模块,用于接收客户端发送的访问请求,判断缓存内是否存在与所述访问请求相对应的目标缓存数据;
[0026]公平锁赋予模块,用于当判断结果为否时,根据访问请求的接收顺序给所述访问请求赋予公平锁,再次判断缓存内是否存在与所述访问请求相对应的目标缓存数据;
[0027]缓存更新模块,用于当再次判断结果为否时,调用预设的自定义接口在数据库中查询所述目标缓存数据,并将所述目标缓存数据更新至所述缓存中;
[0028]数据返回模块,用于根据所述访问请求赋予的公平锁,将所述缓存中的目标缓存数据返回客户端。
[0029]第三方面,本专利技术还提供一种电子设备,包括:处理器和存储器;
[0030]所述存储器上存储有可被所述处理器执行的计算机程序;
[0031]所述处理器执行所述计算机程序时实现如上所述的缓存控制方法中的步骤。
[0032]第四方面,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上所述的缓存控制方法中的步骤。
[0033]与现有技术相比,本专利技术提供的缓存控制方法、装置、电子设备及存储介质,通过判断缓存内是否存在与所述访问请求相对应的目标缓存数据,当判断结果为否时,根据访问请求的接收顺序给所述访问请求赋予公平锁,再次判断缓存内是否存在与所述访问请求相对应的目标缓存数据,当再次判断结果为否时,调用预设的自定义接口在数据库中查询所述目标缓存数据,并将所述目标缓存数据更新至所述缓存中,最后根据所述访问请求赋予的公平锁,将所述缓存中的目标缓存数据返回客户端,使得研发人员不用再考虑微服务高并发缓存穿透和雪崩问题,无需针对每一个应用都单独开发一套代码来解决缓存穿透的问题,只需通过自定义接口修改SQL查询语句,使得SQL查询语句与当下的业务场景对应即可,降低了维护成本,而且降低了项目代码重复率,很好的解决了微服务高并发缓存穿透和雪崩问题,减少生产时间发生,极大的提高了系统的健全性和安全性。
附图说明
[0034]图1是本专利技术提供的缓存控制方法的一实施例的流程图;
[0035]图2是本专利技术提供的缓存控制装置的功能模块示意图;
[0036]图3是本专利技术提供的电子设备的硬件结构示意图。
具体实施方式
[0037]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0038]请参阅图1,图1是本专利技术实施例提供的一种缓存控制方法的流程示意图。本专利技术实施例所涉及的缓存控制方法可由电子设备执行,该电子设备能够进行接收或发送数据等操作,可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、便携式计算机和台式服务器等等。如图1所示,该方法具体包括以下步骤S100至步骤S400。
[0039]S100、接收客户端发送的访问请求,判断缓存内是否存在与所述访问请求相对应的目标缓存数据。
[0040]本实施例中,缓存表示临时文件的交换区,用于存储临时数据,目标缓存数据可以是热点数据或者配置数据等,访问请求指客户端用于访问服务器存储于缓存中的临时数据。当电子设备接收到任一客户端对缓存中的目标缓存数据的访问请求是,则可以根据所述访问请求中目标缓存数据的表述在缓存中进行查找,若查找到与目标缓存数据相匹配的标识时,则判定所述缓存内存在与所述访问请求相对应的目标缓存数据,否则,判本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种缓存控制方法,其特征在于,包括如下步骤:接收客户端发送的访问请求,判断缓存内是否存在与所述访问请求相对应的目标缓存数据;当判断结果为否时,根据访问请求的接收顺序给所述访问请求赋予公平锁,再次判断缓存内是否存在与所述访问请求相对应的目标缓存数据;当再次判断结果为否时,调用预设的自定义接口在数据库中查询所述目标缓存数据,并将所述目标缓存数据更新至所述缓存中;根据所述访问请求赋予的公平锁,将所述缓存中的目标缓存数据返回客户端。2.根据权利要求1所述的缓存控制方法,其特征在于,所述自定义接口为泛型接口。3.根据权利要求1所述的缓存控制方法,其特征在于,所述根据访问请求的接收顺序给所述访问请求赋予公平锁,包括:根据所述访问请求的接收顺序对各个访问请求进行排序;根据所述排序结果给排序在最前方的访问请求分配公平锁,并配置其它访问请求的公平锁等待时间。4.根据权利要求3所述的缓存控制方法,其特征在于,还包括:在所述公平锁等待时间内,每隔预设时间执行一次公平锁获取请求,直至获取到公平锁为止,当在所述公平锁等待时间内未获取到公平锁时,对所述访问请求进行降级处理。5.根据权利要求1所述的缓存控制方法,其特征在于,所述将所述目标缓存数据更新至所述缓存中,包括:将所述查询到的目标缓存数据存储至所述缓存中,并设定所述目标缓存数据的有效时间。6.根据权利要求4所述的缓存控制方法,其特征在于,所述根据所述访问请求赋予的公平锁,将所述缓存中的目标缓存数据返回客户端,包括:将所述目标缓存数据对应的分布式锁分配给具有公平锁的访问...

【专利技术属性】
技术研发人员:刘小京
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1