一种多层缓存数据获取方法以及装置制造方法及图纸

技术编号:24853314 阅读:20 留言:0更新日期:2020-07-10 19:07
本公开是关于一种多层缓存数据获取方法、装置、电子设备以及存储介质,涉及计算机技术领域。该方法包括:接收用户数据获取请求,当客户端存在所述数据获取请求对应的数据且所述数据未过期时,返回所述数据;当客户端中无所述数据获取请求对应的数据或所述数据已过期时,在Redis端查找所述数据获取请求对应的数据,返回所述数据;当Redis端中无所述数据获取请求对应的数据或所述数据已过期时,在服务端查找所述数据获取请求对应的数据,返回所述数据;当服务端中无所述数据获取请求对应的数据时,返回客户端中预设数据。本公开通过建立多层缓存在实现数据提取的高效性的同时,极大的减轻了服务端的数据访问压力。

【技术实现步骤摘要】
一种多层缓存数据获取方法以及装置
本公开涉及计算机
,具体而言,涉及一种多层缓存数据获取方法、装置、电子设备以及计算机可读存储介质。
技术介绍
随着电子商务的快速发展,随之而来的各种应用程序也越来越多,越来越复杂,经常需要根据实际情况,改变服务的配置。现有技术通过网络为应用程序提供配置项的保存与修改服务,并能够使各应用程序在不停机重启的情况下,实时获取修改后的配置,从而影响程序的处理逻辑,以用来应对各种情况。随着接入配置中心的应用服务越来越多,配置中心服务接口的压力也越来越大,QPS不断上升,需要采取手段缓解接口的压力,且要一定程度上保证数据的实时可用性。对于这些高频访问但是低频更新的数据,现有应对方案一般是在服务端建立缓存,通过主动刷新缓存,或者被动等待缓存过期后重新获取的方案,来减少对数据库的访问,缓减数据库压力。上述方式中,对于服务端缓存层的依赖非常大,一旦缓存出现问题,所有的访问势必又会全部打透到数据库,使数据库的访问量瞬间大幅上升,很可能会导致数据库服务器崩溃、响应慢,甚至无响应等异常情况发生。对于数据实时性要求较高的系统,发生这种情况会对接入的系统造成较大的影响。因此,需要提供一种至少能够解决上述问题的技术方案。需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
本公开的目的在于提供一种多层缓存数据获取方法、装置、电子设备以及计算机可读存储介质,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。根据本公开的一个方面,提供一种多层缓存数据获取方法,包括:客户端获取步骤,接收用户数据获取请求,当客户端存在所述数据获取请求对应的数据且所述数据未过期时,返回所述数据;Redis端获取步骤,当客户端中无所述数据获取请求对应的数据或所述数据已过期时,在Redis端查找所述数据获取请求对应的数据,当Redis端存在所述数据获取请求对应的数据且所述数据未过期时,返回所述数据;服务端获取步骤,当Redis端中无所述数据获取请求对应的数据或所述数据已过期时,在服务端查找所述数据获取请求对应的数据,当服务端存在所述数据获取请求对应的数据,返回所述数据;异常数据返回步骤,当服务端中无所述数据获取请求对应的数据时,返回客户端中预设数据。在本公开的一种示例性实施例中,所述Redis端获取步骤包括:当Redis端存在所述数据获取请求对应的数据且所述数据未过期时,返回所述数据,同时更新客户端所述数据缓存。在本公开的一种示例性实施例中,所述服务端获取步骤包括:当Redis端中无所述数据获取请求对应的数据或所述数据已过期时,在服务端缓存中查找所述数据获取请求对应的数据,当服务端缓存中存在所述数据获取请求对应的数据且所述数据未过期时,返回所述数据;当服务端缓存中无所述数据获取请求对应的数据或所述数据已过期时,在数据库中查找所述数据获取请求对应的数据,当服务端数据库中存在所述数据获取请求对应的数据,返回所述数据。在本公开的一种示例性实施例中,所述服务端获取步骤包括:当服务端缓存中存在所述数据获取请求对应的数据且所述数据未过期时,返回所述数据,同时更新客户端、Redis端所述数据缓存;当服务端数据库中存在所述数据获取请求对应的数据,返回所述数据,同时更新服务端缓存、客户端、Redis端所述数据缓存。在本公开的一种示例性实施例中,所述异常数据返回步骤包括:当服务端中无所述数据获取请求对应的数据时,若客户端中存在所述数据获取请求对应的数据但所述数据已过期时,返回所述数据;当服务端中无所述数据获取请求对应的数据时,若客户端中无所述数据获取请求对应的数据时,返回客户端中预设数据。在本公开的一种示例性实施例中,所述方法还包括,当返回客户端中预设数据时,生成系统异常运行日志,并发布系统异常通知。在本公开的一个方面,提供一种多层缓存数据获取装置,包括:客户端获取模块,用于接收用户数据获取请求,当客户端存在所述数据获取请求对应的数据且所述数据未过期时,返回所述数据;Redis端获取模块,用于当客户端中无所述数据获取请求对应的数据或所述数据已过期时,在Redis端查找所述数据获取请求对应的数据,当Redis端存在所述数据获取请求对应的数据且所述数据未过期时,返回所述数据;服务端获取模块,用于当Redis端中无所述数据获取请求对应的数据或所述数据已过期时,在服务端查找所述数据获取请求对应的数据,当服务端存在所述数据获取请求对应的数据,返回所述数据;异常数据返回模块,用于当服务端中无所述数据获取请求对应的数据时,返回客户端中预设数据。在本公开的一个方面,提供一种电子设备,包括:处理器;以及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现根据上述任意一项所述的方法。在本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据上述任意一项所述的方法。本公开的示例性实施例中的多层缓存数据获取方法,接收用户数据获取请求,当客户端存在所述数据获取请求对应的数据且所述数据未过期时,返回所述数据;当客户端中无所述数据获取请求对应的数据或所述数据已过期时,在Redis端查找所述数据获取请求对应的数据,返回所述数据;当Redis端中无所述数据获取请求对应的数据或所述数据已过期时,在服务端查找所述数据获取请求对应的数据,返回所述数据;当服务端中无所述数据获取请求对应的数据时,返回客户端中预设数据。本公开通过在客户端、Redis端与服务端分别进行缓存,减轻服务端对数据库的访问压力,在异常发生时,能保证客户端正常工作,不会因为服务端访问异常而影响接入端系统的运行。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明通过参照附图来详细描述其示例实施例,本公开的上述和其它特征及优点将变得更加明显。图1示出了根据本公开一示例性实施例的多层缓存数据获取方法的流程图;图2示出了根据本公开一示例性实施例的多层缓存数据获取装置的示意框图;图3示出了根据本公开一示例性实施例的多层缓存数据获取方法的全景流程图;图4示意性示出了根据本公开一示例性实施例的电子设备的框图;以及图5示意性示出了根据本公开一示例性实施例的计算机可读存储介质的示意图。具体实施方式现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。此外,所描述的特征、结构或特性可以以任何合适本文档来自技高网...

【技术保护点】
1.一种多层缓存数据获取方法,其特征在于,所述方法包括:/n客户端获取步骤,接收用户数据获取请求,当客户端存在所述数据获取请求对应的数据且所述数据未过期时,返回所述数据;/nRedis端获取步骤,当客户端中无所述数据获取请求对应的数据或所述数据已过期时,在Redis端查找所述数据获取请求对应的数据,当Redis端存在所述数据获取请求对应的数据且所述数据未过期时,返回所述数据;/n服务端获取步骤,当Redis端中无所述数据获取请求对应的数据或所述数据已过期时,在服务端查找所述数据获取请求对应的数据,当服务端存在所述数据获取请求对应的数据,返回所述数据;/n异常数据返回步骤,当服务端中无所述数据获取请求对应的数据时,返回客户端中预设数据。/n

【技术特征摘要】
1.一种多层缓存数据获取方法,其特征在于,所述方法包括:
客户端获取步骤,接收用户数据获取请求,当客户端存在所述数据获取请求对应的数据且所述数据未过期时,返回所述数据;
Redis端获取步骤,当客户端中无所述数据获取请求对应的数据或所述数据已过期时,在Redis端查找所述数据获取请求对应的数据,当Redis端存在所述数据获取请求对应的数据且所述数据未过期时,返回所述数据;
服务端获取步骤,当Redis端中无所述数据获取请求对应的数据或所述数据已过期时,在服务端查找所述数据获取请求对应的数据,当服务端存在所述数据获取请求对应的数据,返回所述数据;
异常数据返回步骤,当服务端中无所述数据获取请求对应的数据时,返回客户端中预设数据。


2.根据权利要求1所述的方法,其特征在于,所述Redis端获取步骤包括:
当Redis端存在所述数据获取请求对应的数据且所述数据未过期时,返回所述数据,同时更新客户端所述数据缓存。


3.根据权利要求1所述的方法,其特征在于,所述服务端获取步骤包括:
当Redis端中无所述数据获取请求对应的数据或所述数据已过期时,在服务端缓存中查找所述数据获取请求对应的数据,当服务端缓存中存在所述数据获取请求对应的数据且所述数据未过期时,返回所述数据;
当服务端缓存中无所述数据获取请求对应的数据或所述数据已过期时,在数据库中查找所述数据获取请求对应的数据,当服务端数据库中存在所述数据获取请求对应的数据,返回所述数据。


4.根据权利要求3所述的方法,其特征在于,所述服务端获取步骤包括:
当服务端缓存中存在所述数据获取请求对应的数据且所述数据未过期时,返回所述数据,同时更新客户端、Redis端所述数据缓存;
当服务端数据库中存在所述数据获取请求对应的数...

【专利技术属性】
技术研发人员:郭嘉炯李超朱正文许郭帆
申请(专利权)人:北京值得买科技股份有限公司
类型:发明
国别省市:北京;11

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

1