CN107665235B - 缓存处理方法、装置、计算机设备和存储介质 - Google Patents

缓存处理方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN107665235B
CN107665235B CN201710626312.7A CN201710626312A CN107665235B CN 107665235 B CN107665235 B CN 107665235B CN 201710626312 A CN201710626312 A CN 201710626312A CN 107665235 B CN107665235 B CN 107665235B
Authority
CN
China
Prior art keywords
information
query request
request
information query
cache
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.)
Active
Application number
CN201710626312.7A
Other languages
English (en)
Other versions
CN107665235A (zh
Inventor
张辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
OneConnect Smart Technology Co Ltd
Original Assignee
OneConnect Financial Technology Co Ltd Shanghai
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by OneConnect Financial Technology Co Ltd Shanghai filed Critical OneConnect Financial Technology Co Ltd Shanghai
Priority to CN201710626312.7A priority Critical patent/CN107665235B/zh
Priority to PCT/CN2017/104653 priority patent/WO2019019382A1/zh
Publication of CN107665235A publication Critical patent/CN107665235A/zh
Application granted granted Critical
Publication of CN107665235B publication Critical patent/CN107665235B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种缓存处理方法、装置、计算机设备和存储介质,所述方法包括:解析所接收的信息查询请求,获取所述信息查询请求中携带的请求标识;从缓存中查找是否存在所述请求标识;当缓存中不存在所述请求标识时,执行所述信息查询请求以从数据库中查询相应的信息;当执行所述信息查询请求所经历的时长超过预设时长阈值时,则将包括所述请求标识的所述信息查询请求与查询到的所述信息进行对应缓存,并返回查询到的所述信息。本申请的方案减轻了缓存压力。

Description

缓存处理方法、装置、计算机设备和存储介质
技术领域
本发明涉及计算机技术领域,特别是涉及一种缓存处理方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的飞速发展,越来越多的信息都不采用纸本保存,而是通过无纸化的方式存储在数据库,用户可以从数据库中查询所需要的信息。
然而,由于数据库资源是有限的,大量的信息查询会造成数据库的压力过大。所以,可以通过对数据库中的信息进行缓存的方式,来分担数据库的压力。
传统方法中,终端向服务器发送请求,服务器从数据库中拉取对应的信息后会将拉取的信息进行缓存,这样一来,凡是经过服务器拉取的信息都会被服务器缓存,就容易造成缓存信息量过大,导致缓存压力过大。
发明内容
基于此,有必要针对目前缓存压力过大的技术问题,提供一种缓存处理方法、装置、计算机设备和存储介质。
一种缓存处理方法,所述方法包括:
解析所接收的信息查询请求,获取所述信息查询请求中携带的请求标识;
从缓存中查找是否存在所述请求标识;
当缓存中不存在所述请求标识时,执行所述信息查询请求以从数据库中查询相应的信息;
当执行所述信息查询请求所经历的时长超过预设时长阈值时,则
将包括所述请求标识的所述信息查询请求与查询到的所述信息进行对应缓存,并返回查询到的所述信息。
在其中一个实施例中,所述将包括所述请求标识的所述信息查询请求与查询到的所述信息进行对应缓存包括:
将所述信息查询请求转换为可缓存格式;
将转换为可缓存格式的信息查询请求和查询到的所述信息进行对应缓存;
其中,所述可缓存格式的信息查询请求中包括唯一的所述请求标识。
在其中一个实施例中,所述解析所接收的信息查询请求,获取所述信息查询请求中携带的请求标识包括:
接收并解析终端发送的信息查询请求,获取所述信息查询请求中携带的请求标识;
所述当执行所述信息查询请求所经历的时长超过预设时长阈值时,则将包括所述请求标识的所述信息查询请求与查询到的所述信息进行对应缓存,并返回查询到的所述信息包括:
通过拦截器拦截向所述终端返回的从数据库中查询到的所述信息;
获取执行所述信息查询请求所经历的时长;
当所述所经历的时长超过预设时长阈值时,则将包括所述请求标识的所述信息查询请求与拦截的所述信息进行对应缓存,并通知所述拦截器将拦截的所述信息发送至所述终端。
在其中一个实施例中,所述方法还包括:
监测数据库中与缓存的所述信息对应的信息是否发生更新;
当数据库中与缓存的所述信息对应的信息发生更新时,则
将与缓存的所述信息所对应缓存的所述信息查询请求反解析为可执行的信息查询请求;
执行可执行的所述信息查询请求,从数据库重新获取相应的信息;
根据重新获取的信息,对与所述信息查询请求对应缓存的信息进行更新处理。
在其中一个实施例中,所述根据重新获取的信息,对与所述信息查询请求对应缓存的信息进行更新处理包括:
获取从开始执行可执行的所述信息查询请求起至重新获取到相应所述信息时,所经历的重新获取时长;
当所述重新获取时长超过所述预设时长阈值时,则将缓存中与所述信息查询请求对应缓存的信息更新为所述重新获取的信息。
在其中一个实施例中,所述方法还包括:
针对缓存的所述信息查询请求,赋予相应的缓存有效时长;
当超过所述缓存有效时长时,将缓存中相应的所述信息查询请求,以及与所述信息查询请求对应缓存的信息删除。
一种缓存处理装置,所述装置包括:
请求解析模块,用于解析所接收的信息查询请求,获取所述信息查询请求中携带的请求标识;
请求标识查找模块,用于从缓存中查找是否存在所述请求标识;
信息获取模块,用于当缓存中不存在所述请求标识时,执行所述信息查询请求以从数据库中查询相应的信息;
缓存模块,用于当执行所述信息查询请求所经历的时长超过预设时长阈值时,则将包括所述请求标识的所述信息查询请求与查询到的所述信息进行对应缓存,并返回查询到的所述信息。
在其中一个实施例中,所述装置还包括:
更新监测模块,用于监测数据库中与缓存的所述信息对应的信息是否发生更新;
请求反解析模块,用于当所述更新监测模块监测到数据库中与缓存的所述信息对应的信息发生更新时,则将与缓存的所述信息所对应缓存的所述信息查询请求反解析为可执行的信息查询请求;
缓存更新模块,用于执行可执行的所述信息查询请求,从数据库重新获取相应的信息;根据重新获取的信息,对与所述信息查询请求对应缓存的信息进行更新处理。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行以下步骤:
解析所接收的信息查询请求,获取所述信息查询请求中携带的请求标识;
从缓存中查找是否存在所述请求标识;
当缓存中不存在所述请求标识时,执行所述信息查询请求以从数据库中查询相应的信息;
当执行所述信息查询请求所经历的时长超过预设时长阈值时,则
将包括所述请求标识的所述信息查询请求与查询到的所述信息进行对应缓存,并返回查询到的所述信息。
一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:
解析所接收的信息查询请求,获取所述信息查询请求中携带的请求标识;
从缓存中查找是否存在所述请求标识;
当缓存中不存在所述请求标识时,执行所述信息查询请求以从数据库中查询相应的信息;
当执行所述信息查询请求所经历的时长超过预设时长阈值时,则
将包括所述请求标识的所述信息查询请求与查询到的所述信息进行对应缓存,并返回查询到的所述信息。
上述缓存处理方法、装置、计算机设备和存储介质,在执行信息查询请求所经历的时长超过预设时长阈值时,再将查询到的信息进行缓存,而并不是将查询到的所有信息一并缓存,一定程度上减少了缓存的信息量,从而减轻了缓存压力。
附图说明
图1为一个实施例中缓存处理方法的应用环境图;
图2为一个实施例中计算机设备的内部结构示意图;
图3为一个实施例中缓存处理方法的流程示意图;
图4为一个实施例中缓存处理步骤的流程示意图;
图5为一个实施例中缓存更新步骤的流程示意图;
图6为一个实施例中缓存处理装置的框图;
图7为另一个实施例中缓存处理装置的框图;
图8为又一个实施例中缓存处理装置的框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为一个实施例中缓存处理方法的应用环境图。参照图1,该应用环境包括通过网络连接的终端110和服务器120。其中,终端110通过网络向服务器120发送信息查询请求。服务器120解析所接收的信息查询请求,获取信息查询请求中携带的请求标识。服务器120从缓存中查找是否存在请求标识,当缓存中不存在请求标识时,执行信息查询请求以从数据库中查询相应的信息,当执行信息查询请求所经历的时长超过预设时长阈值时,则将包括请求标识的信息查询请求与查询到的信息进行对应缓存,并返回查询到的信息至终端110。
图2为一个实施例中计算机设备的内部结构示意图。该计算机设备可以是图1中的服务器120,服务器120可以用独立的服务器或是多个物理服务器组成的服务器集群来实现。参照图2,该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、内存储器和网络接口。其中,计算机设备的非易失性存储介质存储有操作系统,还可以存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器实现一种缓存处理方法。该处理器用于提供计算和控制能力,支撑整个计算机设备的运行。计算机设备中的内存储器中可储存有计算机可读指令,该计算机可读指令被所述处理器执行时,可使得所述处理器执行一种缓存处理方法。网络接口用于连接网络进行通信。
本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
如图3所示,在一个实施例中,提供了一种缓存处理方法。本实施例主要以该方法应用于上述图2中的计算机设备来举例说明。参照图3,该缓存处理方法具体包括如下步骤:
S302,解析所接收的信息查询请求,获取信息查询请求中携带的请求标识。
其中,请求标识用于唯一标识所对应的信息查询请求。
在一个实施例中,请求标识包括请求事项标识。请求事项,是指所请求要做的事项,比如获取基本个人信息、获取用户访问量或获取网页内容等都属于请求事项。请求事项标识,用于唯一标识所请求查询的事项。信息查询请求所请求查询的事项不同,所对应的请求事项标识不同,则请求标识也不同。
比如,请求查询网站A的信息与请求查询网站B的信息就属于不同的请求事项,所对应的请求事项标识就不同,则请求标识也不同。又比如,请求查询网站A中不同类型的信息(比如,“用户的基本个人信息”,与“用户数量”就属于不同类型的信息),则就属于不同的请求事项,所对应的请求事项标识就不同,则请求标识也不同。
具体地,计算机设备可以对接收的信息查询请求进行解析,并从解析的信息查询请求中获取所携带的请求标识。其中,所接收的信息查询请求可以是终端发送的信息查询请求也可以是其他服务器发送的信息查询请求,这里对发送信息查询请求的对象不做限定。
S304,从缓存中查找是否存在请求标识。
其中,缓存,是将从数据库中获取的信息进行存放的存储区域,通过缓存可以降低数据库的压力,同时可以提高对信息的访问或查询速度。
具体地,计算机设备可以将所获取的请求标识与缓存中存储的信息进行匹配,以查找是否存在该请求标识。在一个实施例中,计算机设备可以从分布式缓存服务器集群中,获取与该信息查询请求对应的缓存服务器,然后从该缓存服务器中查找是否存在该获取的请求标识。在一个实施例中,计算机设备可以根据发起该信息查询请求的终端与分布式缓存服务器集群中各缓存服务器的距离远近,从分布式缓存服务器集群中,选取距离最近的缓存服务器作为与该信息查询请求对应的缓存服务器。
S306,当缓存中不存在请求标识时,执行信息查询请求以从数据库中查询相应的信息。
具体地,当缓存中不存在该请求标识时,计算机设备可以执行该信息查询请求,调用数据库接口,以从数据库中获取相应的信息。
在一个实施例中,计算机设备是将包括请求标识的信息查询请求以及与该信息查询请求相应的信息进行对应缓存的。其中,与该信息查询请求相应的信息,是指执行该信息查询请求可以获取到的信息。比如,请求标识ID_001用于唯一标识公告信息查询请求,执行该公告信息查询请求可以获取到的信息包括具体的公告内容,则可以将包括ID_001的公告信息查询请求与该具体的公告内容进行对应缓存。当缓存中存在该请求标识时,则可以直接获取与该请求标识对应缓存的所请求查询的信息,比如,可以直接获取与请求标识ID_001对应缓存的具体公告内容。
S308,当执行信息查询请求所经历的时长超过预设时长阈值时,则将包括请求标识的信息查询请求与查询到的信息进行对应缓存,并返回查询到的信息。
其中,执行信息查询请求所经历的时长,是指开始执行该信息查询请求起至从数据库中查询到相应的信息(即接收到数据库返回的相应信息)这个过程中所经历的时长。比如,开始执行信息查询请求的时间为t1,接收到数据库返回的相应信息的时间为t2,则执行信息查询请求所经历的时长为t2-t1。
具体地,计算机设备可以检测执行信息查询请求所经历的时长,并将检测的所经历的时长与预设时长阈值进行比对,当执行信息查询请求所经历的时长超过预设时长阈值时,将包括请求标识的信息查询请求与查询到的信息进行对应缓存,并返回查询到的信息。在一个实施例中,当执行信息查询请求所经历的时长不超过预设时长阈值时,则说明该执行信息查询请求从数据库中获取相应信息的速度比较快,对数据库造成的压力就会比较小,则可以直接将查询到的信息返回,而不用进行缓存。
在一个实施例中,计算机设备可以将包括请求标识的信息查询请求与查询到的信息发送至相应的缓存服务器进行缓存,并将查询到的信息返回至终端。可以理解,在其它实施例中,计算机设备也可以将包括请求标识的信息查询请求与查询到的信息在本地进行缓存,并将查询到的信息返回至终端。
上述缓存处理方法,在执行信息查询请求所经历的时长超过预设时长阈值时,再将查询到的信息进行缓存,而并不是将查询到的所有信息一并缓存,一定程度上减少了缓存的信息量,从而减轻了缓存溢出的问题。
此外,将包括请求标识的信息查询请求和所请求查询的信息进行对应缓存,在接收到信息查询请求时判断缓存中是否有相应的请求标识,当不存在请求标识则说明缓存中没有缓存该信息查询请求,则就说明没有缓存该查询请求所请求查询的信息,即通过判断缓存中是否有相应的请求标识,来确定是否缓存有所请求查询的信息,而不需要对缓存中的要请求的信息本身进行较多的分析和比对,提高了信息查询速度。
在一个实施例中,将包括请求标识的信息查询请求与查询到的信息进行对应缓存包括:将信息查询请求转换为可缓存格式;将转换为可缓存格式的信息查询请求和查询到的信息进行对应缓存;其中,可缓存格式的信息查询请求中包括唯一的请求标识。
其中,可缓存格式,是指符合缓存的文件格式,比如json格式。可以理解,所接收的信息查询请求为可执行的格式,该可执行的信息查询请求的格式可能不符合缓存的需求,所以计算机设备可以将该可执行的信息查询请求转换为可缓存格式。需要说明的是,如果接收的信息查询请求本身满足缓存的格式需求,则可以不对该信息查询请求进行格式转换。
进一步地,计算机设备可以将转换为可缓存格式的信息查询请求和查询到的信息进行对应缓存。可以理解,由于所接收的信息查询请求中包括请求标识,则进行格式转换后的可缓存格式的信息查询请求中仍然包括唯一的请求标识。
在一个实施例中,步骤S302包括:接收并解析终端发送的信息查询请求,获取信息查询请求中携带的请求标识。
具体地,用户可以通过终端进行信息查询操作,终端响应于该操作,生成信息查询请求发送至计算机设备,计算机设备接收到终端发送的信息查询请求后,可以解析所接收的该信息查询请求,并从解析后的信息查询请求中提取所携带的请求标识。
本实施例中,如图4所示,步骤S308(简称缓存处理步骤),具体包括以下步骤:
S402,通过拦截器拦截向终端返回的从数据库中查询到的信息。
具体地,计算机设备在从数据库中查询到与该信息查询请求相应的信息后,可以将该查询到的信息返回至终端,拦截器可以拦截该向终端返回的信息。
S404,获取执行信息查询请求所经历的时长。
其中,执行信息查询请求所经历的时长,是指开始执行该信息查询请求起至从数据库中查询到相应的信息(即接收到数据库返回的相应信息)这个过程中所经历的时长。
在一个实施例中,计算机设备可以记录开始执行该信息查询请求的时间点,并在从数据库中查询到相应的信息时记录下相应时间点,根据两个时间点的差值得到执行该信息查询请求所经历的时长。比如,开始执行信息查询请求的时间点为t1,接收到数据库返回的相应信息的时间点为t2,则执行信息查询请求所经历的时长为t2-t1。
在另一个实施例中,计算机设备也可以从开始执行该信息查询请求时触发计时器开始计时,并在从数据库中查询到相应的信息时触发计时器停止计时,将计时器的计时时长作为执行该信息查询请求所经历的时长。
S406,当所经历的时长超过预设时长阈值时,则将包括请求标识的信息查询请求与拦截的信息进行对应缓存,并通知拦截器将拦截的信息发送至终端。
具体地,计算机设备中预先存储了预设时长阈值,并将获取的所经历的时长与预设时长阈值进行比对,当执行信息查询请求所经历的时长超过预设时长阈值时,将包括请求标识的信息查询请求与查询到的信息进行对应缓存。进一步地,计算机设备可以通知拦截器将拦截的信息发送至终端。
可以理解,当所经历的时长不超过预设时长阈值时,则直接通知拦截器将拦截的信息发送至终端。
上述实施例中,不用对用于实现请求执行及信息返回的程序本身进行变动,而是通过拦截器拦截返回的信息,将满足缓存条件的信息和相应的信息查询请求进行对应缓存,并通知拦截器将拦截的信息发送至终端。在实现信息缓存的时,相当于是对原有用于请求执行和信息返回的程序透明的,避免了对原有用于请求执行和信息返回的程序的变动,而对原有用于请求执行和信息返回的程序进行变动,则需要重新对该程序的其它功能进行全面测试、比较繁复。因此,本案通过拦截器拦截的方式,实现信息缓存,提高了信息缓存功能实现的便捷性。
在一个实施例中,如图5所示,该方法还包括缓存更新步骤,具体包括以下步骤:
S502,监测数据库中与缓存的信息对应的信息是否发生更新。
其中,数据库中与缓存的信息对应的信息,是与缓存的信息一样的、且存储在数据库中的信息。可以理解,缓存的信息是从数据库中查询到的并进行缓存的信息,所以数据库中存储有与该缓存的信息一样的信息,即数据库中存储有该缓存的信息对应的信息。
在一个实施例中,计算机设备可以通过判断是否接收到数据库发送的信息更新通知来判断与缓存的信息对应的信息是否发生更新。计算机设备可以在将查询到的信息进行缓存时,通知数据库并使数据库对该信息进行缓存标记,当数据库中具有缓存标记的信息发生更新时,数据库则可以发送信息更新通知至计算机设备。计算机设备检测到该信息更新通知,则可以判定与缓存的信息对应的信息发生更新。
在另一个实施例中,计算机设备还可以监测是否接收到与缓存的信息更新有关的操作请求,当接收并执行与缓存的信息更新有关的操作请求时,则可以判定数据库中与缓存的信息对应的信息发生更新。与缓存的信息更新有关的操作请求包括对信息进行的修改、删除或新增等操作请求。
S504,当数据库中与缓存的信息对应的信息发生更新时,则将与缓存的信息所对应缓存的信息查询请求反解析为可执行的信息查询请求。
其中,可执行的信息查询请求,是指可以被执行以获取相应要查询的信息的请求。
具体地,当数据库中与缓存的信息对应的信息发生更新时,计算机设备可以从缓存中查找与该缓存的信息对应缓存的信息查询请求,并将查找到的可缓存格式的信息查询请求进行反解析处理,重新生成可执行的信息查询请求。
S506,执行可执行的信息查询请求,从数据库重新获取相应的信息。
具体地,计算机设备可以执行重新生成的可执行的信息查询请求,并调用数据库接口,从数据库中重新获取与该信息查询请求相应的信息。
S508,根据重新获取的信息,对与信息查询请求对应缓存的信息进行更新处理。
在一个实施例中,计算机设备可以将缓存中与该信息查询请求对应缓存的信息直接更新为重新获取的信息。
在另一个实施例中,根据重新获取的信息,对与所述信息查询请求对应缓存的信息进行更新处理包括:获取从开始执行可执行的信息查询请求起至重新获取到相应信息时,所经历的重新获取时长;当重新获取时长超过预设时长阈值时,则将缓存中与信息查询请求对应缓存的信息更新为重新获取的信息。
其中,重新获取时长,是指重新获取与可执行的信息查询请求对应的信息所经历的时长。具体地,重新获取时长,可以是指执行该可执行的信息查询请求开始至重新获取到相应信息这个过程所经历的时长。
在一个实施例中,计算机设备可以记录开始执行该可执行的信息查询请求的时间点,并在从数据库中重新获取到相应的信息时记录下相应时间点,根据两个时间点的差值得到重新获取时长。比如,开始执行该可执行的信息查询请求的时间点为t1,接收到数据库返回的重新获取到相应的信息的时间点为t2,则重新获取时长为t2-t1。
在另一个实施例中,计算机设备也可以从开始执行该可执行的信息查询请求时触发计时器开始计时,并在从数据库中重新获取到相应的信息时触发计时器停止计时,将计时器的计时时长作为重新获取时长。
进一步地,计算机设备中存储了预设时长阈值,计算机设备可以将重新获取时长与预设时长阈值比对,当重新获取时长超过预设时长阈值时,则将缓存中与信息查询请求对应缓存的信息更新为重新获取的信息。
在一个实施例中,当重新获取时长不超过预设时长阈值时,则可以将缓存中该信息查询请求及对应缓存的信息删除。可以理解,当重新获取时长不超过预设时长阈值时,则说明该执行信息查询请求从数据库中获取相应信息的速度比较快,对数据库造成的压力就会比较小,则不用缓存也不会对数据库造成压力过大的影响,因此可以删除所缓存的该信息查询请求及对应缓存的信息,以避免对缓存空间的不必要占用,提高缓存空间的有效利用率。
上述实施例中,当缓存的信息在数据库中的相应信息发生更新时,将与该信息对应缓存的信息查询请求反解析为可执行的请求,以重新获取相应的信息并进行缓存更新处理,避免了人工手动进行获取更新信息并缓存的操作,提高了缓存更新的效率。
在一个实施例中,该方法还包括:针对缓存的所述信息查询请求,赋予相应的缓存有效时长;当达到所述缓存有效时长时,将缓存中相应的所述信息查询请求,以及与所述信息查询请求对应缓存的信息删除。
其中,缓存有效时长,是被缓存的数据在缓存中处于有效状态的时间长度。比如,信息查询请求A的缓存有效时长为3周,则被缓存的信息查询请求A从被缓存开始的3周内处于有效状态。
具体地,计算机设备在将信息查询请求和相信的信息进行对应缓存时,可以将缓存的信息查询请求赋予相应的缓存有效时长。计算机设备可以监测缓存的信息查询请求是否超过被赋予的相应缓存有效时长,当达到缓存有效时长时,将缓存中相应的信息查询请求,以及与信息查询请求对应缓存的信息删除。比如,缓存有效时长为3周,则当信息查询请求A的缓存时间超过3周,则将缓存中的信息查询请求A删除,以及将与信息查询请求A对应缓存的信息删除。
在一个实施例中,当将缓存的信息查询请求反解析为可执行的信息查询请求以重新获取相应的信息,并根据重新获取的信息更新相应缓存的信息之后,可以对该信息查询请求的缓存时效时长的已用时长归零。可以对活跃的信息查询请求自动进行缓存有效时长调整,避免固定不变的缓存有效时长造成对活跃的信息查询请求及对应缓存的信息的误删除。
比如,信息查询请求A的缓存有效时长为3周,当缓存有效时长已用时长为1周,剩余2周时,将该信息查询请求A反解析为可执行信息查询请求以重新获取相应的信息,并根据重新获取的信息更新相应缓存的信息时,则将该信息查询请求A的缓存有效时长的已有1周时长归零,即为该信息查询请求A的缓存有效时长重新赋值为3周。
上述实施例中,通过赋予缓存的信息查询请求相应的缓存有效时长,当达到该缓存有效时长时,可以自动的将该信息查询请求及对应缓存的相应信息进行删除,一定程度上避免了不必要的缓存占用。
如图6所示,在一个实施例中,提供了一种缓存处理装置600,该装置600包括:请求解析模块602、请求标识查找模块604、信息获取模块606以及缓存模块608,其中:
请求解析模块602,用于解析所接收的信息查询请求,获取所述信息查询请求中携带的请求标识。
请求标识查找模块604,用于从缓存中查找是否存在所述请求标识。
信息获取模块606,用于当缓存中不存在所述请求标识时,执行所述信息查询请求以从数据库中查询相应的信息。
缓存模块608,用于当执行所述信息查询请求所经历的时长超过预设时长阈值时,则将包括所述请求标识的所述信息查询请求与查询到的所述信息进行对应缓存,并返回查询到的所述信息。
在一个实施例中,缓存模块608还用于将信息查询请求转换为可缓存格式;将转换为可缓存格式的信息查询请求和查询到的信息进行对应缓存;其中,可缓存格式的信息查询请求中包括唯一的请求标识。
在一个实施例中,请求解析模块602还用于接收并解析终端发送的信息查询请求,获取信息查询请求中携带的请求标识。
缓存模块608还用于通过拦截器拦截向终端返回的从数据库中查询到的信息;获取执行信息查询请求所经历的时长;当所经历的时长超过预设时长阈值时,则将包括请求标识的信息查询请求与拦截的信息进行对应缓存,并通知拦截器将拦截的信息发送至终端。
如图7所示,在一个实施例中,该装置600还包括:
更新监测模块610,用于监测数据库中与缓存的信息对应的信息是否发生更新。
请求反解析模块612,用于当更新监测模块监测到数据库中与缓存的信息对应的信息发生更新时,则将与缓存的信息所对应缓存的信息查询请求反解析为可执行的信息查询请求。
缓存更新模块614,用于执行可执行的信息查询请求,从数据库重新获取相应的信息;根据重新获取的信息,对与信息查询请求对应缓存的信息进行更新处理。
在一个实施例中,缓存更新模块614还用于获取从开始执行可执行的信息查询请求起至重新获取到相应信息时,所经历的重新获取时长;当重新获取时长超过预设时长阈值时,则将缓存中与信息查询请求对应缓存的信息更新为重新获取的信息。
如图8所示,在一个实施例中,该装置600还包括:
有效时长计时模块616,用于针对缓存的信息查询请求,赋予相应的缓存有效时长;当超过缓存有效时长时,将缓存中相应的信息查询请求,以及与信息查询请求对应缓存的信息删除。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行如下步骤:解析所接收的信息查询请求,获取所述信息查询请求中携带的请求标识;从缓存中查找是否存在所述请求标识;当缓存中不存在所述请求标识时,执行所述信息查询请求以从数据库中查询相应的信息;当执行所述信息查询请求所经历的时长超过预设时长阈值时,则将包括所述请求标识的所述信息查询请求与查询到的所述信息进行对应缓存,并返回查询到的所述信息。
在一个实施例中,所述将包括所述请求标识的所述信息查询请求与查询到的所述信息进行对应缓存包括:将所述信息查询请求转换为可缓存格式;将转换为可缓存格式的信息查询请求和查询到的所述信息进行对应缓存;其中,所述可缓存格式的信息查询请求中包括唯一的所述请求标识。
在一个实施例中,所述解析所接收的信息查询请求,获取所述信息查询请求中携带的请求标识包括:接收并解析终端发送的信息查询请求,获取所述信息查询请求中携带的请求标识。所述当执行所述信息查询请求所经历的时长超过预设时长阈值时,则将包括所述请求标识的所述信息查询请求与查询到的所述信息进行对应缓存,并返回查询到的所述信息包括:通过拦截器拦截向所述终端返回的从数据库中查询到的所述信息;获取执行所述信息查询请求所经历的时长;当所述所经历的时长超过预设时长阈值时,则将包括所述请求标识的所述信息查询请求与拦截的所述信息进行对应缓存,并通知所述拦截器将拦截的所述信息发送至所述终端。
在一个实施例中,计算机可读指令还使得处理器执行以下步骤:监测数据库中与缓存的所述信息对应的信息是否发生更新;当数据库中与缓存的所述信息对应的信息发生更新时,则将与缓存的所述信息所对应缓存的所述信息查询请求反解析为可执行的信息查询请求;执行可执行的所述信息查询请求,从数据库重新获取相应的信息;根据重新获取的信息,对与所述信息查询请求对应缓存的信息进行更新处理。
在一个实施例中,所述根据重新获取的信息,对与所述信息查询请求对应缓存的信息进行更新处理包括:获取从开始执行可执行的所述信息查询请求起至重新获取到相应所述信息时,所经历的重新获取时长;当所述重新获取时长超过所述预设时长阈值时,则将缓存中与所述信息查询请求对应缓存的信息更新为所述重新获取的信息。
在一个实施例中,计算机可读指令还使得处理器执行以下步骤:针对缓存的所述信息查询请求,赋予相应的缓存有效时长;当超过所述缓存有效时长时,将缓存中相应的所述信息查询请求,以及与所述信息查询请求对应缓存的信息删除。
在一个实施例中,提供了一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如下步骤:解析所接收的信息查询请求,获取所述信息查询请求中携带的请求标识;从缓存中查找是否存在所述请求标识;当缓存中不存在所述请求标识时,执行所述信息查询请求以从数据库中查询相应的信息;当执行所述信息查询请求所经历的时长超过预设时长阈值时,则将包括所述请求标识的所述信息查询请求与查询到的所述信息进行对应缓存,并返回查询到的所述信息。
在一个实施例中,所述将包括所述请求标识的所述信息查询请求与查询到的所述信息进行对应缓存包括:将所述信息查询请求转换为可缓存格式;将转换为可缓存格式的信息查询请求和查询到的所述信息进行对应缓存;其中,所述可缓存格式的信息查询请求中包括唯一的所述请求标识。
在一个实施例中,所述解析所接收的信息查询请求,获取所述信息查询请求中携带的请求标识包括:接收并解析终端发送的信息查询请求,获取所述信息查询请求中携带的请求标识。所述当执行所述信息查询请求所经历的时长超过预设时长阈值时,则将包括所述请求标识的所述信息查询请求与查询到的所述信息进行对应缓存,并返回查询到的所述信息包括:通过拦截器拦截向所述终端返回的从数据库中查询到的所述信息;获取执行所述信息查询请求所经历的时长;当所述所经历的时长超过预设时长阈值时,则将包括所述请求标识的所述信息查询请求与拦截的所述信息进行对应缓存,并通知所述拦截器将拦截的所述信息发送至所述终端。
在一个实施例中,计算机可读指令还使得处理器执行以下步骤:监测数据库中与缓存的所述信息对应的信息是否发生更新;当数据库中与缓存的所述信息对应的信息发生更新时,则将与缓存的所述信息所对应缓存的所述信息查询请求反解析为可执行的信息查询请求;执行可执行的所述信息查询请求,从数据库重新获取相应的信息;根据重新获取的信息,对与所述信息查询请求对应缓存的信息进行更新处理。
在一个实施例中,所述根据重新获取的信息,对与所述信息查询请求对应缓存的信息进行更新处理包括:获取从开始执行可执行的所述信息查询请求起至重新获取到相应所述信息时,所经历的重新获取时长;当所述重新获取时长超过所述预设时长阈值时,则将缓存中与所述信息查询请求对应缓存的信息更新为所述重新获取的信息。
在一个实施例中,计算机可读指令还使得处理器执行以下步骤:针对缓存的所述信息查询请求,赋予相应的缓存有效时长;当超过所述缓存有效时长时,将缓存中相应的所述信息查询请求,以及与所述信息查询请求对应缓存的信息删除。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种缓存处理方法,所述方法包括:
解析所接收的信息查询请求,获取所述信息查询请求中携带的请求标识;
从缓存中查找是否存在所述请求标识;
当缓存中不存在所述请求标识时,执行所述信息查询请求以从数据库中查询相应的信息;
当执行所述信息查询请求所经历的时长超过预设时长阈值时,则将包括所述请求标识的所述信息查询请求与查询到的所述信息进行对应缓存,并返回查询到的所述信息;
当执行所述信息查询请求所经历的时长不超过预设时长阈值时,返回查询到的所述信息。
2.根据权利要求1所述的方法,其特征在于,所述将包括所述请求标识的所述信息查询请求与查询到的所述信息进行对应缓存包括:
将所述信息查询请求转换为可缓存格式;
将转换为可缓存格式的信息查询请求和查询到的所述信息进行对应缓存;
其中,所述可缓存格式的信息查询请求中包括唯一的所述请求标识。
3.根据权利要求1所述的方法,其特征在于,所述解析所接收的信息查询请求,获取所述信息查询请求中携带的请求标识包括:
接收并解析终端发送的信息查询请求,获取所述信息查询请求中携带的请求标识;
所述当执行所述信息查询请求所经历的时长超过预设时长阈值时,则将包括所述请求标识的所述信息查询请求与查询到的所述信息进行对应缓存,并返回查询到的所述信息包括:
通过拦截器拦截向所述终端返回的从数据库中查询到的所述信息;
获取执行所述信息查询请求所经历的时长;
当所述所经历的时长超过预设时长阈值时,则将包括所述请求标识的所述信息查询请求与拦截的所述信息进行对应缓存,并通知所述拦截器将拦截的所述信息发送至所述终端。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
监测数据库中与缓存的所述信息对应的信息是否发生更新;
当数据库中与缓存的所述信息对应的信息发生更新时,则将与缓存的所述信息所对应缓存的所述信息查询请求反解析为可执行的信息查询请求;
执行可执行的所述信息查询请求,从数据库重新获取相应的信息;
根据重新获取的信息,对与所述信息查询请求对应缓存的信息进行更新处理。
5.根据权利要求4所述的方法,其特征在于,所述根据重新获取的信息,对与所述信息查询请求对应缓存的信息进行更新处理包括:
获取从开始执行可执行的所述信息查询请求起至重新获取到相应所述信息时,所经历的重新获取时长;
当所述重新获取时长超过所述预设时长阈值时,则将缓存中与所述信息查询请求对应缓存的信息更新为所述重新获取的信息。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
针对缓存的所述信息查询请求,赋予相应的缓存有效时长;
当超过所述缓存有效时长时,将缓存中相应的所述信息查询请求,以及与所述信息查询请求对应缓存的信息删除。
7.一种缓存处理装置,其特征在于,所述装置包括:
请求解析模块,用于解析所接收的信息查询请求,获取所述信息查询请求中携带的请求标识;
请求标识查找模块,用于从缓存中查找是否存在所述请求标识;
信息获取模块,用于当缓存中不存在所述请求标识时,执行所述信息查询请求以从数据库中查询相应的信息;
缓存模块,用于当执行所述信息查询请求所经历的时长超过预设时长阈值时,则将包括所述请求标识的所述信息查询请求与查询到的所述信息进行对应缓存,并返回查询到的所述信息;当执行所述信息查询请求所经历的时长不超过预设时长阈值时,返回查询到的所述信息。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
更新监测模块,用于监测数据库中与缓存的所述信息对应的信息是否发生更新;
请求反解析模块,用于当所述更新监测模块监测到数据库中与缓存的所述信息对应的信息发生更新时,则将与缓存的所述信息所对应缓存的所述信息查询请求反解析为可执行的信息查询请求;
缓存更新模块,用于执行可执行的所述信息查询请求,从数据库重新获取相应的信息;根据重新获取的信息,对与所述信息查询请求对应缓存的信息进行更新处理。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至5中任一项所述方法的步骤。
10.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至5中任一项所述方法的步骤。
CN201710626312.7A 2017-07-27 2017-07-27 缓存处理方法、装置、计算机设备和存储介质 Active CN107665235B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710626312.7A CN107665235B (zh) 2017-07-27 2017-07-27 缓存处理方法、装置、计算机设备和存储介质
PCT/CN2017/104653 WO2019019382A1 (zh) 2017-07-27 2017-09-29 缓存处理方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710626312.7A CN107665235B (zh) 2017-07-27 2017-07-27 缓存处理方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN107665235A CN107665235A (zh) 2018-02-06
CN107665235B true CN107665235B (zh) 2020-06-30

Family

ID=61122474

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710626312.7A Active CN107665235B (zh) 2017-07-27 2017-07-27 缓存处理方法、装置、计算机设备和存储介质

Country Status (2)

Country Link
CN (1) CN107665235B (zh)
WO (1) WO2019019382A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108829837A (zh) * 2018-06-19 2018-11-16 北京五八信息技术有限公司 一种信息查询方法、装置、设备及计算机可读存储介质
CN109788073A (zh) * 2019-03-11 2019-05-21 四川长虹电器股份有限公司 一种Web系统中文件下载的方法
CN112100092B (zh) * 2019-06-18 2024-05-24 北京京东尚科信息技术有限公司 一种信息缓存方法、装置、设备及介质
CN111737564B (zh) * 2019-08-29 2024-04-05 北京京东尚科信息技术有限公司 一种信息查询方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105100289A (zh) * 2015-09-24 2015-11-25 中邮科通信技术股份有限公司 一种基于注解描述的Web缓存方法
CN105138587A (zh) * 2015-07-31 2015-12-09 小米科技有限责任公司 数据访问方法、装置和系统
CN105357271A (zh) * 2015-09-30 2016-02-24 华为技术有限公司 一种信息处理方法及对应装置
CN106161623A (zh) * 2016-07-05 2016-11-23 上海帝联信息科技股份有限公司 缓存服务器、更新服务器及数据更新方法
WO2017028688A1 (zh) * 2015-08-14 2017-02-23 阿里巴巴集团控股有限公司 文件读写方法、装置和系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8612413B2 (en) * 2010-08-12 2013-12-17 Cdnetworks Co., Ltd. Distributed data cache for on-demand application acceleration
CN104092776A (zh) * 2014-07-25 2014-10-08 北京赛科世纪数码科技有限公司 一种信息存取方法和系统
CN105447171A (zh) * 2015-12-07 2016-03-30 北京奇虎科技有限公司 数据缓存方法与装置
CN106021445B (zh) * 2016-05-16 2019-10-15 努比亚技术有限公司 一种加载缓存数据的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105138587A (zh) * 2015-07-31 2015-12-09 小米科技有限责任公司 数据访问方法、装置和系统
WO2017028688A1 (zh) * 2015-08-14 2017-02-23 阿里巴巴集团控股有限公司 文件读写方法、装置和系统
CN105100289A (zh) * 2015-09-24 2015-11-25 中邮科通信技术股份有限公司 一种基于注解描述的Web缓存方法
CN105357271A (zh) * 2015-09-30 2016-02-24 华为技术有限公司 一种信息处理方法及对应装置
CN106161623A (zh) * 2016-07-05 2016-11-23 上海帝联信息科技股份有限公司 缓存服务器、更新服务器及数据更新方法

Also Published As

Publication number Publication date
WO2019019382A1 (zh) 2019-01-31
CN107665235A (zh) 2018-02-06

Similar Documents

Publication Publication Date Title
CN107665235B (zh) 缓存处理方法、装置、计算机设备和存储介质
CN110109953B (zh) 一种数据查询方法、装置及设备
CN109729108B (zh) 一种防止缓存击穿的方法、相关服务器及系统
KR100791628B1 (ko) 이동망 시스템의 능동적 캐쉬 제어 방법, 그 기록 매체 및그 시스템
CN110753099B (zh) 分布式缓存系统以及缓存数据更新方法
CN102170479A (zh) Web缓存的更新方法及Web缓存的更新装置
CN107332908B (zh) 一种数据传输方法及其系统
CN111339143A (zh) 数据缓存方法、装置及云服务器
CN111464615A (zh) 请求处理方法、装置、服务器及存储介质
CN111221469B (zh) 同步缓存数据的方法、装置和系统
CN109167840B (zh) 一种任务推送方法、节点自治服务器及边缘缓存服务器
CN102143212A (zh) 一种内容分发网络中缓存共享的方法及装置
CN111881096B (zh) 一种文件读取方法、装置、设备及存储介质
US9407716B1 (en) Identifying content files in a cache using a response-based cache index
CN105653198A (zh) 数据处理方法及装置
CN113542420B (zh) 热点文件的处理方法、装置、电子设备和介质
CN113452808A (zh) 域名解析方法、装置、设备及存储介质
CN113961832A (zh) 页面渲染的方法、装置、设备、存储介质及程序产品
CN112866339B (zh) 数据传输方法、装置、计算机设备和存储介质
CN102164309B (zh) 节目的处理方法和系统以及装置
CN111913913B (zh) 访问请求的处理方法和装置
CN113438302A (zh) 动态资源多级缓存方法、系统、计算机设备及存储介质
CN117033831A (zh) 一种客户端缓存方法、装置及其介质
CN115470246B (zh) 一种基于cdn的请求响应方法、电子设备及存储介质
CN113836533B (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
TA01 Transfer of patent application right

Effective date of registration: 20180524

Address after: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Applicant after: Shenzhen one ledger Intelligent Technology Co., Ltd.

Address before: 200000 Xuhui District, Shanghai Kai Bin Road 166, 9, 10 level.

Applicant before: Shanghai Financial Technologies Ltd

TA01 Transfer of patent application right
CB02 Change of applicant information

Address after: 518000 Room 201, building A, 1 front Bay Road, Shenzhen Qianhai cooperation zone, Shenzhen, Guangdong

Applicant after: Shenzhen one ledger Intelligent Technology Co., Ltd.

Address before: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Applicant before: Shenzhen one ledger Intelligent Technology Co., Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant