CN114327672A - 数据缓存时间设置方法、装置、计算机设备及存储介质 - Google Patents
数据缓存时间设置方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN114327672A CN114327672A CN202111531709.0A CN202111531709A CN114327672A CN 114327672 A CN114327672 A CN 114327672A CN 202111531709 A CN202111531709 A CN 202111531709A CN 114327672 A CN114327672 A CN 114327672A
- Authority
- CN
- China
- Prior art keywords
- target data
- time
- data
- cache
- score
- 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 43
- 230000000875 corresponding effect Effects 0.000 claims description 21
- 230000003139 buffering effect Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 8
- 230000002596 correlated effect Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- 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
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请为数据处理技术领域,本申请提供了一种数据缓存时间设置方法、装置、计算机设备及存储介质,其中,该方法包括:每隔预设时间段获取待缓存的目标数据,查询目标数据的类型,根据目标数据的类型确定目标数据的默认缓存时间,统计目标数据在历史周期内的更新次数及当前所有数据的总更新次数,根据更新次数及总更新次数计算目标数据的更新频率,根据更新频率确定目标数据的数据更新频率评分,获取目标数据在预设时间段的请求量,根据请求量确定目标数据的请求评分,根据默认缓存时间、数据更新频率评分及请求评分计算目标数据的实际缓存时间,并设置为目标数据在内存中的缓存时间,从而精准地设置数据的缓存时间,提高缓存资源的利用率。
Description
技术领域
本申请涉及数据处理技术领域,具体而言,本申请涉及一种数据缓存时间设置方法、装置、计算机设备及存储介质。
背景技术
目前在处理数据应用服务时,因为业务请求量比较大,某个接口可能一天的请求量会达到几百万甚至几千万,这对后端的压力比较大。并且有时候一些信息短时间甚至一天内都不会发生变化,比如用户的基础信息,年龄、性别等。此时一般需要对这些数据进行缓存,以便下次调用时达到加快接口响应速度、提高并发量的目的。
现有一般基于内存的总容量、接口的请求量以及数据的更新频率,来大致设置一个固定的缓存时间,当缓存命中率比较低的时候,大量的缓存被消耗了,而且在没到失效时间内,还一直占用缓存空间,导致资源的浪费。因此数据缓存时间设置的准确性较低,容易造成资源的浪费。
发明内容
本申请的主要目的为提供一种数据缓存时间设置方法、装置、计算机设备及存储介质,以提高数据缓存时间设置的准确性,充分利用资源。
为了实现上述发明目的,本申请提供一种数据缓存时间设置方法,其包括:
每隔预设时间段获取待缓存的数据,得到目标数据;
查询所述目标数据的类型,根据所述目标数据的类型确定所述目标数据的默认缓存时间;
统计所述目标数据在历史周期内的更新次数及当前所有数据的总更新次数;
根据所述更新次数及总更新次数计算所述目标数据的更新频率,根据所述更新频率确定所述目标数据的数据更新频率评分;其中,所述数据更新频率评分与所述目标数据的更新频率成反比;
获取所述目标数据在所述预设时间段的请求量,根据所述请求量确定所述目标数据的请求评分;
根据所述默认缓存时间、数据更新频率评分及请求评分计算所述目标数据的实际缓存时间;
将所述实际缓存时间设置为所述目标数据在内存中的缓存时间。
优选地,所述根据所述默认缓存时间、数据更新频率评分及请求评分计算所述目标数据的实际缓存时间,包括:
获取所述目标数据的缓存因子;其中,所述缓存因子用于设置所述目标数据缓存增长的倍数;
确定数据更新频率评分的最大值,将所述请求评分乘以数据更新频率评分并除以所述最大值后,得到第一缓存时间;
将所述第一缓存时间乘以所述缓存因子后,得到第二缓存时间;
计算所述第二缓存时间与所述默认缓存时间之和,得到所述目标数据的实际缓存时间。
优选地,所述计算所述第二缓存时间与所述默认缓存时间之和,得到所述目标数据的实际缓存时间,包括:
其中,所述T为实际缓存时间,所述s为请求评分,所述p为数据更新频率评分,所述pmax为数据更新频率评分的最大值,所述t1为缓存因子,所述t2为默认缓存时间。
优选地,所述根据所述请求量确定所述目标数据的请求评分,包括:
获取所有数据在所述预设时间段的请求量,得到总请求量;
计算所述请求量与所述总请求量的比值,得到命中缓存占比;
根据所述请求量及所述命中缓存占比确定所述目标数据的请求评分。
优选地,所述根据所述请求量及所述命中缓存占比确定所述目标数据的请求评分,包括:
从预设的数据表中查询所述命中缓存占比对应的权重;其中,所述数据表记录了每个命中缓存占比对应的权重;
将所述请求量乘以所述权重并转换成百分制后,得到所述请求评分。
优选地,所述将所述实际缓存时间设置为所述目标数据在内存中的缓存时间,包括:
判断所述实际缓存时间是否在预设的最小缓存时间及最大缓存时间之间;
若是,将所述实际缓存时间设置为所述目标数据在内存中的缓存时间;
当确定所述实际缓存时间大于所述最大缓存时间,则将所述最大缓存时间设置为所述目标数据在内存中的缓存时间;
当确定所述实际缓存时间小于所述最小缓存时间,则将所述最小缓存时间设置为所述目标数据在内存中的缓存时间。
优选地,所述根据所述目标数据的类型确定所述目标数据的默认缓存时间,包括:
根据所述目标数据的类型从预设的对照表中查询所述类型对应的权重,根据所述权重确定所述目标数据的重要程度;其中,所述目标数据的重要程度与所述权重成正相关;
根据所述目标数据的重要程度设置所述目标数据的默认缓存时间;其中,所述默认缓存时间与所述重要程度成正相关。
本申请还提供一种数据缓存时间设置装置,其包括:
获取模块,用于每隔预设时间段获取待缓存的数据,得到目标数据;
查询模块,用于查询所述目标数据的类型,根据所述目标数据的类型确定所述目标数据的默认缓存时间;
统计模块,用于统计所述目标数据在历史周期内的更新次数及当前所有数据的总更新次数;
第一计算模块,用于根据所述更新次数及总更新次数计算所述目标数据的更新频率,根据所述更新频率确定所述目标数据的数据更新频率评分;其中,所述数据更新频率评分与所述目标数据的更新频率成反比;
确定模块,用于获取所述目标数据在所述预设时间段的请求量,根据所述请求量确定所述目标数据的请求评分;
第二计算模块,用于根据所述默认缓存时间、数据更新频率评分及请求评分计算所述目标数据的实际缓存时间;
设置模块,用于将所述实际缓存时间设置为所述目标数据在内存中的缓存时间。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述任一项所述方法的步骤。
本申请所提供的一种数据缓存时间设置方法、装置、计算机设备及存储介质,通过每隔预设时间段获取待缓存的数据,得到目标数据,查询目标数据的类型,根据目标数据的类型确定目标数据的默认缓存时间,统计目标数据在历史周期内的更新次数及当前所有数据的总更新次数,根据更新次数及总更新次数计算目标数据的更新频率,根据更新频率确定目标数据的数据更新频率评分,获取目标数据在预设时间段的请求量,根据请求量确定目标数据的请求评分,根据默认缓存时间、数据更新频率评分及请求评分计算目标数据的实际缓存时间,将实际缓存时间设置为目标数据在内存中的缓存时间,从而通过动态地配置数据的实际缓存时间,可以适当地加大命中率高的缓存时间,减少命中率低的时间,避免机械固定地设置缓存时间,不能有效充分地利用现有缓存资源,并且当请求量比较大,命中率高的时候,适当提高缓存时间后,能提升接口应用的整体响应速度,在用户日益增长的当下,可以让服务器保持高健壮性。同时,当命中率低的时候,适当降低缓存时间,并提高了缓存资源的利用率。
附图说明
图1为本申请一实施例的数据缓存时间设置方法的流程示意图;
图2为本申请一实施例的数据缓存时间设置装置的结构示意框图;
图3为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提出的一种数据缓存时间设置方法,以服务器为执行主体,服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
该数据缓存时间设置方法用于解决现有一般基于内存的总容量、接口的请求量以及数据的更新频率,来大致设置一个固定的缓存时间,数据缓存时间的设置方式较为粗糙,准确性较低,容易造成资源的浪费的技术问题。参考图1,其中一个实施例中,该数据缓存时间设置方法包括:
S11、每隔预设时间段获取待缓存的数据,得到目标数据;
S12、查询所述目标数据的类型,根据所述目标数据的类型确定所述目标数据的默认缓存时间;
S13、统计所述目标数据在历史周期内的更新次数及当前所有数据的总更新次数;
S14、根据所述更新次数及总更新次数计算所述目标数据的更新频率,根据所述更新频率确定所述目标数据的数据更新频率评分;其中,所述数据更新频率评分与所述目标数据的更新频率成反比;
S15、获取所述目标数据在所述预设时间段的请求量,根据所述请求量确定所述目标数据的请求评分;
S16、根据所述默认缓存时间、数据更新频率评分及请求评分计算所述目标数据的实际缓存时间;
S17、将所述实际缓存时间设置为所述目标数据在内存中的缓存时间。
如上述步骤S11所述,本实施例可设置一个定时脚本,可以设置预设时间段为30分钟或者10分钟,这个预设时间段可以通过后期观察效果而变化设置。这个定时脚本,在每到达间隔的预设时间段后,读取各个接口的数据,得到目标数据。其中,该目标数据即为需要缓存的数据,不同接口的目标数据的缓存时间可以设置为不同。
如上述步骤S12所述,本实施例可获取目标数据的标识,该标识用于查询目标数据的类型,具有唯一性,可预先构建一个数据表,用于存储每个目标数据的标识对应的类型,在需要获取目标数据的类型时,通过该数据表查询目标数据的类型,根据目标数据的类型确定目标数据的默认缓存时间。其中,该目标数据的类型可包括:用户配置信息、用户基础信息等等,用户基础信息包括用户的年龄、姓名、性别等数据,用户配置信息包括用户喜欢的视频类型、音乐、标签等动态数据。该默认缓存时间可根据目标数据的类型进行设置,例如,当目标数据的类型为用户的年龄、姓名、性别等较为固定的数据时,由于这类数据被请求的概率较低,因此可将默认缓存时间设置为较短;当目标数据的类型为视频类型、音乐等动态数据时,由于这类数据被请求的概率较高,因此可将默认缓存时间设置为较长,可较长时间占用缓存,以便随时调用。
如上述步骤S13-S14所述,本实施例获取目标数据在历史周期内的更新次数及当前所有数据在该历史周期内的总更新次数,根据更新次数及总更新次数计算目标数据的更新频率;具体可将更新次数除以总更新次数之后,计算得到目标数据的更新频率,如当目标数据在历史周期内的更新次数为1000次,当前所有数据在该历史周期内的总更新次数为10000次,则目标数据的更新频率为10%。其中,当目标数据被用户自动更改一次或服务器按照预设规则更新一次后,则更新次数记为一次,如用户自动更改一次个人信息或服务器按照用户在历史周期内的访问内容更新用户的标签。
在计算得到目标数据的更新频率后,根据更新频率确定目标数据的数据更新频率评分,该数据更新频率评分用于反映目标数据的更新情况。其中,所述数据更新频率评分与所述目标数据的更新频率成反比,当目标数据的更新频率越高时,则计算得到的数据更新频率评分越低,反之则越高。
如上述步骤S15-S17所述,获取目标数据在预设时间段的请求量,该请求量即为目标数据在预设时间段内被访问的数量,根据请求量确定目标数据的请求评分。如当请求量越高,则请求评分也越高,最后根据默认缓存时间、数据更新频率评分及请求评分计算目标数据的实际缓存时间,将实际缓存时间设置为目标数据在内存中的缓存时间。
在一实施例中,可根据数据更新频率评分查询相对应的第一缓存时间,根据请求评分查询相对应的第二缓存时间,将默认缓存时间、第一缓存时间及第二缓存时间进行相加后,得到所述目标数据的实际缓存时间。
本申请所提供的一种数据缓存时间设置方法,通过每隔预设时间段获取待缓存的数据,得到目标数据,查询目标数据的类型,根据目标数据的类型确定目标数据的默认缓存时间,统计目标数据在历史周期内的更新次数及当前所有数据的总更新次数,根据更新次数及总更新次数计算目标数据的更新频率,根据更新频率确定目标数据的数据更新频率评分,获取目标数据在预设时间段的请求量,根据请求量确定目标数据的请求评分,根据默认缓存时间、数据更新频率评分及请求评分计算目标数据的实际缓存时间,将实际缓存时间设置为目标数据在内存中的缓存时间,从而通过动态地配置数据的实际缓存时间,可以适当地加大命中率高的缓存时间,减少命中率低的时间,避免机械固定地设置缓存时间,不能有效充分地利用现有缓存资源,并且当请求量比较大,命中率高的时候,适当提高缓存时间后,能提升接口应用的整体响应速度,在用户日益增长的当下,可以让服务器保持高健壮性。同时,当命中率低的时候,适当降低缓存时间,并提高了缓存资源的利用率。
在一实施例中,所述根据所述默认缓存时间、数据更新频率评分及请求评分计算所述目标数据的实际缓存时间,包括:
获取所述目标数据的缓存因子;其中,所述缓存因子用于设置所述目标数据缓存增长的倍数;
确定数据更新频率评分的最大值,将所述请求评分乘以数据更新频率评分并除以所述最大值后,得到第一缓存时间;
将所述第一缓存时间乘以所述缓存因子后,得到第二缓存时间;
计算所述第二缓存时间与所述默认缓存时间之和,得到所述目标数据的实际缓存时间。
在本实施例中,可先设置出一个缓存时间配置的基础表,用来记录数据涉及的接口地址、默认缓存时间、缓存因子、数据更新频率评分等。数据更新频率评分这个字段的目的是用来评估数据是否频繁更新,1代表经常更新,10代表不经常更新,意味着缓存时间可以更长,缓存因子的意义是为了设置缓存增长的倍数。
本实施例将各个接入的接口调用信息,上报到服务器,生成实时的统计数据,可以统计出当天为止的所有请求量以及命中缓存的量。这样也就清晰地知道,如果命中缓存的比例更高,意味着该缓存更有意义,也就可以优先获得更多保存时间。
具体的,本实施例获取目标数据的缓存因子,不同的数据类型具有不同的缓存因子,缓存因子一般为常数,一般将重要性高的数据类型的缓存因子设置为较大值,将重要性低的数据类型的缓存因子设置为较小值。然后确定数据更新频率评分的最大值,如将数据更新频率评分的最大值限定为10,将请求评分乘以数据更新频率评分并除以最大值后,得到第一缓存时间,将第一缓存时间乘以缓存因子后,得到第二缓存时间,最后计算第二缓存时间与默认缓存时间之和,得到目标数据的实际缓存时间,以精细化计算每个数据的实际缓存时间,提高缓存空间的利用率。
在一实施例中,所述计算所述第二缓存时间与所述默认缓存时间之和,得到所述目标数据的实际缓存时间,包括如下公式:
其中,所述T为实际缓存时间,所述s为请求评分,所述p为数据更新频率评分,所述pmax为数据更新频率评分的最大值,所述t1为缓存因子,所述t2为默认缓存时间。
在本实施例中,实际缓存时间的计算:(请求评分*数据更新频率评分/10)*缓存因子+默认缓存时间=实际缓存时间,例如目标数据A,当天的请求量是80万,有11万命中缓存,命中缓存率为13.75%,则目标数据A的实际缓存时间=(-1*3/10)*10+30=27分钟;又如,当目标数据B,当天的请求量是760万,有240万命中缓存,命中缓存率为31.58%,则目标数据B的实际缓存时间=(2*10/10)*30+60=120分钟。
在一实施例中,所述根据所述请求量确定所述目标数据的请求评分,包括:
获取所有数据在所述预设时间段的请求量,得到总请求量;
计算所述请求量与所述总请求量的比值,得到命中缓存占比;
根据所述请求量及所述命中缓存占比确定所述目标数据的请求评分。
本实施例获取所有数据在预设时间段的请求量,得到总请求量,将请求量除以所述总请求量,计算得到请求量与所述总请求量的比值,将该比值作为该目标数据的命中缓存占比,用于评估目标数据的请求情况,最后根据请求量及中缓存占比确定目标数据的请求评分。例如,可设置不同的请求量对应不同的缓存占比,查询不同请求量、不同缓存占比下对应的请求评分,实现精细化管理。
例如,服务器分别获取每个数据在一天内的请求量,将每个数据的请求量进行累加后,得到总请求量,同时获取目标数据在一天内的请求量,将目标数据的请求量除以总请求量之后,得到请求量与所述总请求量的比值,将该比值作为该目标数据的命中缓存占比。在计算请求评分时,将命中缓存占比乘以一个基准评分值后,计算得到目标数据的请求评分,例如将基准评分值设置为100,当命中缓存占比为80%时,则目标数据的请求评分为80分。
在一实施例中,所述根据所述请求量及所述命中缓存占比确定所述目标数据的请求评分,可具体包括:
从预设的数据表中查询所述命中缓存占比对应的权重;其中,所述数据表记录了每个命中缓存占比对应的权重;
将所述请求量乘以所述权重并转换成百分制后,得到所述请求评分。
本实施例可预先构建一个数据表,该数据表记录了每个命中缓存占比对应的权重,以在需要计算请求评分时,从预设的数据表中查询命中缓存占比对应的权重,将请求量乘以权重并转换成百分制后,得到请求评分。其中,所述权重与命中缓存占比成正相关。
例如,当目标数据的请求量为1000、命中缓存占比为80%时,根据数据表查询得到80%的命中缓存占比对应的权重为0.07,则目标数据的请求评分为70分。
在一实施例中,所述将所述实际缓存时间设置为所述目标数据在内存中的缓存时间,可具体包括:
判断所述实际缓存时间是否在预设的最小缓存时间及最大缓存时间之间;
若是,将所述实际缓存时间设置为所述目标数据在内存中的缓存时间;
当确定所述实际缓存时间大于所述最大缓存时间,则将所述最大缓存时间设置为所述目标数据在内存中的缓存时间;
当确定所述实际缓存时间小于所述最小缓存时间,则将所述最小缓存时间设置为所述目标数据在内存中的缓存时间。
在本实施例中,可设置一个最小缓存时间,如10分钟,以及一个最大缓存时间,如240分钟,使得实际缓存时间不能超过最大缓存时间或低于最小缓存时间。具体的,服务器判断实际缓存时间是否在预设的最小缓存时间及最大缓存时间之间,若是,则将实际缓存时间设置为目标数据在内存中的缓存时间,当确定实际缓存时间大于最大缓存时间,将最大缓存时间设置为目标数据在内存中的缓存时间,当确定实际缓存时间小于最小缓存时间,将最小缓存时间设置为目标数据在内存中的缓存时间,从而基于目前的接口调用数据和命中缓存的数据,可以再逐渐将请求评分更合理化,使得缓存充分发挥作用。
在一实施例中,所述根据所述目标数据的类型确定所述目标数据的默认缓存时间,可具体包括:
根据所述目标数据的类型从预设的对照表中查询所述类型对应的权重,根据所述权重确定所述目标数据的重要程度;其中,所述目标数据的重要程度与所述权重成正相关;
根据所述目标数据的重要程度设置所述目标数据的默认缓存时间;其中,所述默认缓存时间与所述重要程度成正相关。
在本实施例中,可预先构建对照表,用于记录每种类型的数据所对应的权重,该权重用于表征数据的重要程度,权重越高,则表明该类型的数据的重要程度也越高。其中,目标数据的类型可包括:用户配置信息、用户基础信息,一般地,用户配置信息的重要程度要高于用户基础信息,因此可将用户配置信息的默认缓存时间设置为较长,将用户基础信息的默认缓存时间设置为较长,使每个目标数据的缓存时间更加合理化,避免缓存命中率比较低的数据长期占用缓存空间,造成资源的浪费。
参照图2,本申请实施例中还提供一种数据缓存时间设置装置,包括:
获取模块11,用于每隔预设时间段获取待缓存的数据,得到目标数据;
查询模块12,用于查询所述目标数据的类型,根据所述目标数据的类型确定所述目标数据的默认缓存时间;
统计模块13,用于统计所述目标数据在历史周期内的更新次数及当前所有数据的总更新次数;
第一计算模块14,用于根据所述更新次数及总更新次数计算所述目标数据的更新频率,根据所述更新频率确定所述目标数据的数据更新频率评分;其中,所述数据更新频率评分与所述目标数据的更新频率成反比;
确定模块15,用于获取所述目标数据在所述预设时间段的请求量,根据所述请求量确定所述目标数据的请求评分;
第二计算模块16,用于根据所述默认缓存时间、数据更新频率评分及请求评分计算所述目标数据的实际缓存时间;
设置模块17,用于将所述实际缓存时间设置为所述目标数据在内存中的缓存时间。
本实施例可设置一个定时脚本,可以设置预设时间段为30分钟或者10分钟,这个预设时间段可以通过后期观察效果而变化设置。这个定时脚本,在每到达间隔的预设时间段后,读取各个接口的数据,得到目标数据。其中,该目标数据即为需要缓存的数据,不同接口的目标数据的缓存时间可以设置为不同。
本实施例可获取目标数据的标识,该标识用于查询目标数据的类型,具有唯一性,可预先构建一个数据表,用于存储每个目标数据的标识对应的类型,在需要获取目标数据的类型时,通过该数据表查询目标数据的类型,根据目标数据的类型确定目标数据的默认缓存时间。其中,该目标数据的类型可包括:用户配置信息、用户基础信息等等,用户基础信息包括用户的年龄、姓名、性别等数据,用户配置信息包括用户喜欢的视频类型、音乐、标签等动态数据。该默认缓存时间可根据目标数据的类型进行设置,例如,当目标数据的类型为用户的年龄、姓名、性别等较为固定的数据时,由于这类数据被请求的概率较低,因此可将默认缓存时间设置为较短;当目标数据的类型为视频类型、音乐等动态数据时,由于这类数据被请求的概率较高,因此可将默认缓存时间设置为较长,可较长时间占用缓存,以便随时调用。
本实施例获取目标数据在历史周期内的更新次数及当前所有数据在该历史周期内的总更新次数,根据更新次数及总更新次数计算目标数据的更新频率;具体可将更新次数除以总更新次数之后,计算得到目标数据的更新频率,如当目标数据在历史周期内的更新次数为1000次,当前所有数据在该历史周期内的总更新次数为10000次,则目标数据的更新频率为10%。其中,当目标数据被用户自动更改一次或服务器按照预设规则更新一次后,则更新次数记为一次,如用户自动更改一次个人信息或服务器按照用户在历史周期内的访问内容更新用户的标签。
在计算得到目标数据的更新频率后,根据更新频率确定目标数据的数据更新频率评分,该数据更新频率评分用于反映目标数据的更新情况。其中,所述数据更新频率评分与所述目标数据的更新频率成反比,当目标数据的更新频率越高时,则计算得到的数据更新频率评分越低,反之则越高。
本实施例还可获取目标数据在预设时间段的请求量,该请求量即为目标数据在预设时间段内被访问的数量,根据请求量确定目标数据的请求评分。如当请求量越高,则请求评分也越高,最后根据默认缓存时间、数据更新频率评分及请求评分计算目标数据的实际缓存时间,将实际缓存时间设置为目标数据在内存中的缓存时间。
在一实施例中,可根据数据更新频率评分查询相对应的第一缓存时间,根据请求评分查询相对应的第二缓存时间,将默认缓存时间、第一缓存时间及第二缓存时间进行相加后,得到所述目标数据的实际缓存时间。
如上所述,可以理解地,本申请中提出的所述数据缓存时间设置装置的各组成部分可以实现如上所述数据缓存时间设置方法任一项的功能,具体结构不再赘述。
参照图3,本申请实施例中还提供一种计算机设备,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括存储介质、内存储器。该存储介质存储有操作系统、计算机程序和数据库。该内存器为存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储所述数据缓存时间设置方法的相关数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据缓存时间设置方法。
上述处理器执行上述的数据缓存时间设置方法,包括:
每隔预设时间段获取待缓存的数据,得到目标数据;
查询所述目标数据的类型,根据所述目标数据的类型确定所述目标数据的默认缓存时间;
统计所述目标数据在历史周期内的更新次数及当前所有数据的总更新次数;
根据所述更新次数及总更新次数计算所述目标数据的更新频率,根据所述更新频率确定所述目标数据的数据更新频率评分;其中,所述数据更新频率评分与所述目标数据的更新频率成反比;
获取所述目标数据在所述预设时间段的请求量,根据所述请求量确定所述目标数据的请求评分;
根据所述默认缓存时间、数据更新频率评分及请求评分计算所述目标数据的实际缓存时间;
将所述实际缓存时间设置为所述目标数据在内存中的缓存时间。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种数据缓存时间设置方法,包括步骤:
每隔预设时间段获取待缓存的数据,得到目标数据;
查询所述目标数据的类型,根据所述目标数据的类型确定所述目标数据的默认缓存时间;
统计所述目标数据在历史周期内的更新次数及当前所有数据的总更新次数;
根据所述更新次数及总更新次数计算所述目标数据的更新频率,根据所述更新频率确定所述目标数据的数据更新频率评分;其中,所述数据更新频率评分与所述目标数据的更新频率成反比;
获取所述目标数据在所述预设时间段的请求量,根据所述请求量确定所述目标数据的请求评分;
根据所述默认缓存时间、数据更新频率评分及请求评分计算所述目标数据的实际缓存时间;
将所述实际缓存时间设置为所述目标数据在内存中的缓存时间。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
综上所述,本申请的最大有益效果在于:
本申请所提供的一种数据缓存时间设置方法、装置、计算机设备及存储介质,通过每隔预设时间段获取待缓存的数据,得到目标数据,查询目标数据的类型,根据目标数据的类型确定目标数据的默认缓存时间,统计目标数据在历史周期内的更新次数及当前所有数据的总更新次数,根据更新次数及总更新次数计算目标数据的更新频率,根据更新频率确定目标数据的数据更新频率评分,获取目标数据在预设时间段的请求量,根据请求量确定目标数据的请求评分,根据默认缓存时间、数据更新频率评分及请求评分计算目标数据的实际缓存时间,将实际缓存时间设置为目标数据在内存中的缓存时间,从而通过动态地配置数据的实际缓存时间,可以适当地加大命中率高的缓存时间,减少命中率低的时间,避免机械固定地设置缓存时间,不能有效充分地利用现有缓存资源,并且当请求量比较大,命中率高的时候,适当提高缓存时间后,能提升接口应用的整体响应速度,在用户日益增长的当下,可以让服务器保持高健壮性。同时,当命中率低的时候,适当降低缓存时间,并提高了缓存资源的利用率。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种数据缓存时间设置方法,其特征在于,包括:
每隔预设时间段获取待缓存的数据,得到目标数据;
查询所述目标数据的类型,根据所述目标数据的类型确定所述目标数据的默认缓存时间;
统计所述目标数据在历史周期内的更新次数及当前所有数据的总更新次数;
根据所述更新次数及总更新次数计算所述目标数据的更新频率,根据所述更新频率确定所述目标数据的数据更新频率评分;其中,所述数据更新频率评分与所述目标数据的更新频率成反比;
获取所述目标数据在所述预设时间段的请求量,根据所述请求量确定所述目标数据的请求评分;
根据所述默认缓存时间、数据更新频率评分及请求评分计算所述目标数据的实际缓存时间;
将所述实际缓存时间设置为所述目标数据在内存中的缓存时间。
2.根据权利要求1所述的方法,其特征在于,所述根据所述默认缓存时间、数据更新频率评分及请求评分计算所述目标数据的实际缓存时间,包括:
获取所述目标数据的缓存因子;其中,所述缓存因子用于设置所述目标数据缓存增长的倍数;
确定数据更新频率评分的最大值,将所述请求评分乘以数据更新频率评分并除以所述最大值后,得到第一缓存时间;
将所述第一缓存时间乘以所述缓存因子后,得到第二缓存时间;
计算所述第二缓存时间与所述默认缓存时间之和,得到所述目标数据的实际缓存时间。
4.根据权利要求1所述的方法,其特征在于,所述根据所述请求量确定所述目标数据的请求评分,包括:
获取所有数据在所述预设时间段的请求量,得到总请求量;
计算所述请求量与所述总请求量的比值,得到命中缓存占比;
根据所述请求量及所述命中缓存占比确定所述目标数据的请求评分。
5.根据权利要求4所述的方法,其特征在于,所述根据所述请求量及所述命中缓存占比确定所述目标数据的请求评分,包括:
从预设的数据表中查询所述命中缓存占比对应的权重;其中,所述数据表记录了每个命中缓存占比对应的权重;
将所述请求量乘以所述权重并转换成百分制后,得到所述请求评分。
6.根据权利要求1所述的方法,其特征在于,所述将所述实际缓存时间设置为所述目标数据在内存中的缓存时间,包括:
判断所述实际缓存时间是否在预设的最小缓存时间及最大缓存时间之间;
若是,将所述实际缓存时间设置为所述目标数据在内存中的缓存时间;
当确定所述实际缓存时间大于所述最大缓存时间,则将所述最大缓存时间设置为所述目标数据在内存中的缓存时间;
当确定所述实际缓存时间小于所述最小缓存时间,则将所述最小缓存时间设置为所述目标数据在内存中的缓存时间。
7.根据权利要求1所述的方法,其特征在于,所述根据所述目标数据的类型确定所述目标数据的默认缓存时间,包括:
根据所述目标数据的类型从预设的对照表中查询所述类型对应的权重,根据所述权重确定所述目标数据的重要程度;其中,所述目标数据的重要程度与所述权重成正相关;
根据所述目标数据的重要程度设置所述目标数据的默认缓存时间;其中,所述默认缓存时间与所述重要程度成正相关。
8.一种数据缓存时间设置装置,其特征在于,包括:
获取模块,用于每隔预设时间段获取待缓存的数据,得到目标数据;
查询模块,用于查询所述目标数据的类型,根据所述目标数据的类型确定所述目标数据的默认缓存时间;
统计模块,用于统计所述目标数据在历史周期内的更新次数及当前所有数据的总更新次数;
第一计算模块,用于根据所述更新次数及总更新次数计算所述目标数据的更新频率,根据所述更新频率确定所述目标数据的数据更新频率评分;其中,所述数据更新频率评分与所述目标数据的更新频率成反比;
确定模块,用于获取所述目标数据在所述预设时间段的请求量,根据所述请求量确定所述目标数据的请求评分;
第二计算模块,用于根据所述默认缓存时间、数据更新频率评分及请求评分计算所述目标数据的实际缓存时间;
设置模块,用于将所述实际缓存时间设置为所述目标数据在内存中的缓存时间。
9.一种计算机设备,其特征在于,包括:
处理器;
存储器;
其中,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的数据缓存时间设置方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现权利要求1-7任一项所述的数据缓存时间设置方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111531709.0A CN114327672B (zh) | 2021-12-14 | 2021-12-14 | 数据缓存时间设置方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111531709.0A CN114327672B (zh) | 2021-12-14 | 2021-12-14 | 数据缓存时间设置方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114327672A true CN114327672A (zh) | 2022-04-12 |
CN114327672B CN114327672B (zh) | 2024-04-05 |
Family
ID=81050587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111531709.0A Active CN114327672B (zh) | 2021-12-14 | 2021-12-14 | 数据缓存时间设置方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114327672B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050268037A1 (en) * | 2004-05-27 | 2005-12-01 | International Business Machines Corporation | Cache hit ratio estimating apparatus, cache hit ratio estimating method, program, and recording medium |
CN104133880A (zh) * | 2014-07-25 | 2014-11-05 | 广东睿江科技有限公司 | 一种设置文件缓存时间的方法与装置 |
US20170371807A1 (en) * | 2015-03-11 | 2017-12-28 | Huawei Technologies Co., Ltd. | Cache data determining method and apparatus |
CN108491450A (zh) * | 2018-02-26 | 2018-09-04 | 平安普惠企业管理有限公司 | 数据缓存方法、装置、服务器和存储介质 |
CN109190070A (zh) * | 2018-08-01 | 2019-01-11 | 北京奇艺世纪科技有限公司 | 一种数据处理方法、装置、系统及应用服务器 |
CN109379395A (zh) * | 2018-08-22 | 2019-02-22 | 中国平安人寿保险股份有限公司 | 一种接口数据缓存设置方法及终端设备 |
CN109388550A (zh) * | 2018-11-08 | 2019-02-26 | 浪潮电子信息产业股份有限公司 | 一种缓存命中率确定方法、装置、设备及可读存储介质 |
CN111597213A (zh) * | 2019-02-21 | 2020-08-28 | 北京京东尚科信息技术有限公司 | 一种缓存方法、软件服务器及存储介质 |
CN112417350A (zh) * | 2020-09-17 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 数据存储调整方法、装置及计算机设备 |
US10972577B1 (en) * | 2020-01-21 | 2021-04-06 | Cbs Interactive Inc. | Systems, methods, and storage media for managing traffic on a digital content delivery network |
CN112631963A (zh) * | 2020-12-25 | 2021-04-09 | 北京奇艺世纪科技有限公司 | 缓存数据管理方法、装置、设备及存储介质 |
CN113111076A (zh) * | 2021-04-16 | 2021-07-13 | 北京沃东天骏信息技术有限公司 | 一种数据缓存方法、装置、设备及存储介质 |
CN113127515A (zh) * | 2021-04-12 | 2021-07-16 | 中国电力科学研究院有限公司 | 面向电网的调控数据高速缓存方法、装置、计算机设备和存储介质 |
CN113452808A (zh) * | 2021-06-29 | 2021-09-28 | 百果园技术(新加坡)有限公司 | 域名解析方法、装置、设备及存储介质 |
CN113612823A (zh) * | 2021-07-22 | 2021-11-05 | 北京金山云网络技术有限公司 | 内容分发网络的缓存时长调整方法、装置和存储介质 |
-
2021
- 2021-12-14 CN CN202111531709.0A patent/CN114327672B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050268037A1 (en) * | 2004-05-27 | 2005-12-01 | International Business Machines Corporation | Cache hit ratio estimating apparatus, cache hit ratio estimating method, program, and recording medium |
CN104133880A (zh) * | 2014-07-25 | 2014-11-05 | 广东睿江科技有限公司 | 一种设置文件缓存时间的方法与装置 |
US20170371807A1 (en) * | 2015-03-11 | 2017-12-28 | Huawei Technologies Co., Ltd. | Cache data determining method and apparatus |
CN108491450A (zh) * | 2018-02-26 | 2018-09-04 | 平安普惠企业管理有限公司 | 数据缓存方法、装置、服务器和存储介质 |
CN109190070A (zh) * | 2018-08-01 | 2019-01-11 | 北京奇艺世纪科技有限公司 | 一种数据处理方法、装置、系统及应用服务器 |
CN109379395A (zh) * | 2018-08-22 | 2019-02-22 | 中国平安人寿保险股份有限公司 | 一种接口数据缓存设置方法及终端设备 |
CN109388550A (zh) * | 2018-11-08 | 2019-02-26 | 浪潮电子信息产业股份有限公司 | 一种缓存命中率确定方法、装置、设备及可读存储介质 |
CN111597213A (zh) * | 2019-02-21 | 2020-08-28 | 北京京东尚科信息技术有限公司 | 一种缓存方法、软件服务器及存储介质 |
US10972577B1 (en) * | 2020-01-21 | 2021-04-06 | Cbs Interactive Inc. | Systems, methods, and storage media for managing traffic on a digital content delivery network |
CN112417350A (zh) * | 2020-09-17 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 数据存储调整方法、装置及计算机设备 |
CN112631963A (zh) * | 2020-12-25 | 2021-04-09 | 北京奇艺世纪科技有限公司 | 缓存数据管理方法、装置、设备及存储介质 |
CN113127515A (zh) * | 2021-04-12 | 2021-07-16 | 中国电力科学研究院有限公司 | 面向电网的调控数据高速缓存方法、装置、计算机设备和存储介质 |
CN113111076A (zh) * | 2021-04-16 | 2021-07-13 | 北京沃东天骏信息技术有限公司 | 一种数据缓存方法、装置、设备及存储介质 |
CN113452808A (zh) * | 2021-06-29 | 2021-09-28 | 百果园技术(新加坡)有限公司 | 域名解析方法、装置、设备及存储介质 |
CN113612823A (zh) * | 2021-07-22 | 2021-11-05 | 北京金山云网络技术有限公司 | 内容分发网络的缓存时长调整方法、装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114327672B (zh) | 2024-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111464615B (zh) | 请求处理方法、装置、服务器及存储介质 | |
CN110489447B (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
US11102286B2 (en) | Bandwidth scheduling method and device for cache server | |
US9094478B2 (en) | Prereading method and system for web browser | |
US20040107319A1 (en) | Cache management system and method | |
CN109190070B (zh) | 一种数据处理方法、装置、系统及应用服务器 | |
CN113452808B (zh) | 域名解析方法、装置、设备及存储介质 | |
CN113630329B (zh) | 基于用户访问量的负载均衡方法、系统及可读存储介质 | |
CN111092877A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN110471939A (zh) | 数据访问方法、装置、计算机设备及存储介质 | |
US11032394B1 (en) | Caching techniques | |
CN111339200A (zh) | 一种基于数据库同步的数据校验方法及数据校验系统 | |
CN110134738A (zh) | 分布式存储系统资源预估方法、装置 | |
CN110557464A (zh) | Dns解析方法、权威dns服务器和dns解析系统 | |
CN111597213A (zh) | 一种缓存方法、软件服务器及存储介质 | |
CN112689007A (zh) | 资源分配方法、装置、计算机设备和存储介质 | |
CN114327672B (zh) | 数据缓存时间设置方法、装置、计算机设备及存储介质 | |
CN115470246B (zh) | 一种基于cdn的请求响应方法、电子设备及存储介质 | |
CN111049941A (zh) | Dns调度方法、域名服务器及计算机可读存储介质 | |
CN108629039B (zh) | 一种数据处理方法及装置 | |
CN116756190A (zh) | 数据缓存管理方法、装置、终端设备以及存储介质 | |
CN115455042A (zh) | 数据处理方法、设备以及计算机可读存储介质 | |
CN114519082A (zh) | 一种数据处理方法和相关装置 | |
TWM618289U (zh) | 查詢系統 | |
CN111614717A (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 |