CN109656939B - 一种缓存更新方法、装置、设备和存储介质 - Google Patents
一种缓存更新方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN109656939B CN109656939B CN201811584565.3A CN201811584565A CN109656939B CN 109656939 B CN109656939 B CN 109656939B CN 201811584565 A CN201811584565 A CN 201811584565A CN 109656939 B CN109656939 B CN 109656939B
- Authority
- CN
- China
- Prior art keywords
- target resource
- request
- resource
- cache
- category
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种缓存更新方法、装置、设备和存储介质。该方法包括:接收针对目标资源的资源请求;根据所述资源请求确定所述目标资源的请求频率类别;根据所述请求频率类别查找所述目标资源;根据所述请求频率类别和所述目标资源更新所述服务器的缓存。通过该方法解决了LRU算法导致的真正需要被缓存的资源很快就被淘汰删除,导致缓存命中率很低的问题,实现了在固定大小的缓存中,尽量保存真正需要被缓存的资源,以提高缓存命中率的有益效果。
Description
技术领域
本发明实施例涉及服务器技术,尤其涉及一种缓存更新方法、装置、设备和存储介质。
背景技术
随着计算机技术的发展,越来越多的人习惯通过互联网查询资料。面对海量服务用户,服务器要处理数大量请求。尤其是对于交互类的视频网站,以直播平台为例,在后台服务中,面对海量服务用户,每秒需要处理数以千万计的请求。特别是在活动、比赛阶段,高峰期请求量非常大,这些请求往往较为集中一小部分热点用户(如热门主播、热点数据等),亦或是重复请求,在这种海量数据请求的大并发业务服务中,如何处理用户请求成为亟待解决的问题。
现有技术中常用的缓存策略是直接开辟一定数量的内存空间,将请求逐个放进缓存中,使用LRU(Least Recently Used,最近最少使用算法)淘汰逻辑以节省内存。
但是在实际使用中,这种方案的最大问题是:固定大小的缓存很容易被海量请求填满,真正需要被缓存的资源很快就被淘汰删除,导致缓存命中率很低,缓存变得没有意义。
发明内容
本发明提供一种缓存更新方法、装置、设备和存储介质,以实现在固定大小的缓存中,尽量保存真正需要被缓存的资源,以提高缓存命中率。
第一方面,本发明实施例提供了一种缓存更新方法,应用在服务器中,包括:
接收针对目标资源的资源请求;
根据所述资源请求确定所述目标资源的请求频率类别;
根据所述请求频率类别查找所述目标资源;
根据所述请求频率类别和所述目标资源更新所述服务器的缓存。
第二方面,本发明实施例还提供了一种缓存更新装置,应用在服务器中,包括:
资源请求接收模块,用于接收针对目标资源的资源请求;
频率类别确定模块,用于根据所述资源请求确定所述目标资源的请求频率类别;
目标资源查找模块,用于根据所述请求频率类别查找所述目标资源;
缓存更新模块,用于根据所述请求频率类别和所述目标资源更新所述服务器的缓存。
第三方面,本发明实施例还提供了一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如任一实施例所述的缓存更新方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如任一实施例所述的缓存更新方法。
本发明通过综合考虑用户发出请求的频率以及目标资源被请求的频率,从而决定获取目标资源的途径,解决了LRU算法导致的真正需要被缓存的资源很快就被淘汰删除,导致缓存命中率很低的问题,实现了在固定大小的缓存中,尽量保存真正需要被缓存的资源,以提高缓存命中率的有益效果。
附图说明
图1为本发明实施例一提供的一种缓存更新方法的流程图;
图2为本发明实施例二提供的一种缓存更新方法的流程图;
图3A为本发明实施例三提供的一种缓存更新方法的流程图;
图3B为本发明实施例三提供的一种新建令牌桶的子方法的流程图;
图3C为本发明实施例三提供的一种判断令牌可否取出的子方法流程图;
图4为本发明实施例四提供的一种缓存更新装置的结构示意图;
图5为本发明实施例五提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种缓存更新方法的流程图,本实施例的技术方案,可选的是适用于在直播平台后台服务中,面对海量服务用户,要处理数千万QPS(Query PerSecond,每秒查询率)的请求,特别是在活动、比赛阶段,高峰期请求量非常大,这些请求往往较为集中一小部分热点用户(如热门主播、热点数据等)的场景。但可以理解是,本技术方案也可以适用于其他应用场景中,只要存在需要在本地缓存部分数据以提高本地查询命中率的问题即可。该方法可以由缓存更新装置来执行,该装置可以由软件和/或软件的方式实现,通常配置于电子设备中,典型的是设置在处理器中,例如在服务器的处理器中。该方法具体包括:
S101、接收针对目标资源的资源请求。
其中,资源请求是用户通过客户端发送的要求获得某一资源的请求信息,而要求获得的某一资源就是其对应的目标资源。
具体的,缓存更新装置接收用户发送的资源请求信息。并根据资源请求信息确定资源请求对应的目标资源。
S102、根据所述资源请求确定所述目标资源的请求频率类别。
其中,请求频率类别表明了对目标资源请求的频率的高或低的状态。
具体的,当缓存更新装置接收到用户发送的资源请求信息时,判断当前用户请发起对目标资源的请求时,该目标资源的请求是否会过热。
S103、根据所述请求频率类别查找所述目标资源。
其中,查找所述目标资源的方式包括两种:向指定的资源设备请求所述目标资源(通过远程网络数据库进行查找)或者从所述服务器的缓存中查找所述目标资源(在服务器内存中的缓存)。
具体的,缓存更新装置判断请求频率类别后,根据判断结果确定采用哪种方式获得目标资源。
S104、根据所述请求频率类别和所述目标资源更新所述服务器的缓存。
具体的,服务器的缓存以队列的形式保存,获得目标资源后,可以选择将目标资源写入该队列的头部保存,也可以选择不保存目标资源。
本发明实施例通过综合考虑用户发出请求的频率以及目标资源被请求的频率,从而决定获取目标资源的途径,解决了LRU算法导致的真正需要被缓存的资源很快就被淘汰删除,导致缓存命中率很低的问题,实现了在固定大小的缓存中,尽量保存真正需要被缓存的资源,以提高缓存命中率的有益效果。
实施例二
图2为本发明实施例二提供的一种缓存更新方法的流程图。本实施例是在实施例一的基础上进行的细化,主要详细描述了如何确定第一频率与两种查找方式之间的对应关系。参考图2,本实施例具体包括如下步骤:
S201、接收针对目标资源的资源请求。
具体的,缓存更新装置接收用户发送的资源请求信息。并根据资源请求信息确定资源请求对应的目标资源。
S202、在预设的请求队列中查找到对所述目标资源设置的令牌桶。
其中,请求队列是预先设置的一个长度有限的队列。大小固定的令牌桶可自行以恒定的速率源源不断地产生令牌。如果令牌不被消耗,或者被消耗的速度小于产生的速度,令牌就会不断地增多,直到把桶填满。后面再产生的令牌就会从桶中溢出。最后桶中可以保存的最大令牌数永远不会超过桶的大小。
具体的,在请求队列中查找到代表本次资源请求的令牌桶。
可选的,若未查找到对所述目标资源设置的令牌桶,则对所述目标资源生成令牌桶。
具体的,如果没有查找到代表本次资源请求的令牌桶,则生成一个代表本次资源请求的令牌桶。
可选的,所述在预设的请求队列中查找到对所述目标资源设置的令牌桶之后,包括:将所述令牌桶移动至所述请求队列的头部。
具体的,当在请求队列中查找到代表本次资源请求的令牌桶,或者生成一个代表本次资源请求的令牌桶之后,将令牌桶移动至所述请求队列的头部,以保证令牌桶的时效性。
S203、判断能否从所述令牌桶中提取令牌。若可以提取令牌,则执行步骤S204;若不可以提取令牌,则执行步骤S206。
具体的,当找到(或者生成)令牌桶后,判断是否可以从令牌桶中取出令牌(一般设置为一个令牌,当然也可以是预设个数的令牌)。若可以提取令牌,则确定所述目标资源的请求频率类别为第一类别;若不可以提取令牌,则确定所述目标资源的请求频率类别为第二类别。
S204、确定所述目标资源的请求频率类别为第一类别。
其中,请求频率类别通过令牌桶是否可以取出令牌来表现。
具体的,若可以从一个令牌桶中提取令牌,则说明该资源的请求频率不热,则确定所述目标资源的请求频率类别为第一类别。
S205、向指定的资源设备请求所述目标资源。
其中,指定的资源设备可以是类似redis、mysql这样的远程网络数据库。
具体的,若可以从一个令牌桶中提取令牌,则确定所述目标资源设置的第一请求频率小于预设的第一阈值。则通过远程缓存方式获取所述目标资源。
S206、确定所述目标资源的请求频率类别为第二类别。
其中,第一请求频率通过令牌桶是否可以取出令牌来表现。
具体的,若不可以从一个令牌桶中提取令牌,则说明该资源的请求频率较热,则确定所述目标资源的请求频率类别为第二类别。
S207、从所述服务器的缓存中查找所述目标资源。
其中,服务器的缓存是预先设置的一个长度有限缓存队列。
具体的,若不可以从一个令牌桶中提取令牌,则确定所述目标资源设置的第一请求频率大于或等于预设的第一阈值。则从服务器的内存中查找所述目标资源。
当然,若从所述服务器的缓存中不能查找到所述目标资源,则向指定的资源设备请求目标资源。
S208、将所述目标资源写入缓存队列的头部。
具体的,若目标资源的请求频率类别为第二类别,则当接收所述资源设备依据所述资源请求返回的目标资源,或者从所述服务器的缓存中查找所述目标资源之后,将目标资源至所述缓存队列的头部,以保证令牌桶的时效性。
在上述实施示例的基础上,根据所述资源请求确定所述目标资源的请求频率类别,还包括:统计距离上一次从所述令牌桶提取所述令牌的时间;基于所述时间计算目标值;将数量为所述目标值的所述令牌写入所述令牌桶中。
具体的,统计距离上一次从所述令牌桶提取所述令牌的时间m,利用公式T(n)=min(m*x+y,Max_Tokens)计算目标值T(n)。其中,x为设定每秒放回多少令牌,y为固定常数,Max_Tokens为一个计数器最大容量。min(m*x+y,Max_Tokens)表示目标值T(n)取(m*x+y,Max_Tokens)中较小的一个。
在上述实施示例的基础上,根据所述资源请求确定所述目标资源的请求频率类别,还包括:统计所述请求队列中令牌桶的数量;若所述数量大于预设的第一阈值,则删除位于所述请求队列的尾部的令牌桶,直至所述数量小于或等于所述第一阈值。
具体的,请求队列是一个长度固定的队列。某些情况下,当生成一个令牌桶时,可能会造成队列长度超过预设值(第一阈值),此时为了保证请求队列长度符合要求,删除位于所述请求队列的尾部的令牌桶,直至所述数量小于或等于所述第一阈值。
在上述实施示例的基础上,根据所述请求频率类别和所述目标资源更新所述服务器的缓存,还包括:统计所述缓存队列中目标资源的数量;若所述数量大于预设的第二阈值,则删除位于所述缓存队列中尾部的目标资源,直至所述数量小于或等于所述第二阈值。
具体的,缓存队列是一个长度固定的队列。某些情况下,当加入一个缓存资源时,可能会造成队列长度超过预设值(第二阈值),此时为了保证请求队列长度符合要求,删除位于所述缓存队列的尾部的缓存资源,直至所述数量小于或等于所述第二阈值。
本发明实施例通过综合考虑用户发出请求的频率以及目标资源被请求的频率,从而决定获取目标资源的途径,解决了LRU算法导致的真正需要被缓存的资源很快就被淘汰删除,导致缓存命中率很低的问题,实现了在固定大小的缓存中,尽量保存真正需要被缓存的资源,以提高缓存命中率的有益效果。本实施例还提供了请求队列与缓存队列用于分别管理令牌桶与缓存资源,利用这种自删除的策略,可以解决在海量请求下,计数器个数暴增无法控制的问题,以有效控制了业务进程占用的内存大小。
实施例三
图3A为本发明实施例三提供的一种缓存更新方法的流程图。本实施例是在实施例一和实施例二的基础上进行的详细描述。参考图3A,本实施例具体包括如下步骤:
S301、接收针对id=a的资源的资源请求。
S302、判断请求队列中是否有id=a的资源的令牌桶。若有,则执行步骤S304;若没有,则执行步骤S303。
S303、新建一个id=a的令牌桶,并调整到请求队列头部。
S304、将id=a的资源的令牌桶调整到请求队列头部。
S305、判断id=a的令牌桶中是否可以取出令牌。若可以,则执行步骤S311;若不可以,则执行步骤S306。
S306、确定对id=a的资源的资源请求为第二类别。
S307、从所述服务器的缓存中查找id=a的资源。
S308、判断服务器的缓存中是否具有id=a的资源。若有,则执行步骤S310;若没有,则执行步骤S309。
S309、向指定的资源设备请求查找id=a的资源。
S310、将id=a的资源写入缓存队列的头部。
S311、确定对id=a的资源的资源请求为第一类别。
S312、向指定的资源设备请求查找id=a的资源。
当接收到针对id=a的资源的资源请求时,从请求队列中查找是否有id=a的资源的资源请求对应的令牌桶(简称id=a的令牌桶)。若请求队列中有id=a的令牌桶,则说明id=a这个资源长期在被请求,若请求队列中没有id=a的令牌桶,则说明id=a这个资源近期内没有在被请求。
若请求队列中有id=a的令牌桶,则直接将这个令牌桶调整到请求队列的头部,其他令牌桶依次进行调整。若请求队列中没有id=a的令牌桶,则需要新建一个id=a的令牌桶,将这个令牌桶调整到请求队列的头部,其他令牌桶依次进行调整。图3B为本发明实施例三提供的一种新建令牌桶的子方法的流程图。参考图3B,该方法包括以下步骤:S3031、新建一个id=a的令牌桶。S3032、判断请求队列中令牌桶的个数是否已满。若已满,则执行步骤S3033;若未满则执行步骤S3034。S3033、删除请求队列尾部的令牌桶。S3034、将id=a的令牌桶调整到请求队列头部。
判断位于请求队列头部的id=a的令牌桶中是否可以取出令牌。若可以取出令牌,说明id=a的资源不是长期被请求。据此,确定对id=a的资源的资源请求为第一类别。若不可以取出令牌,说明id=a的资源是长期被请求。据此,确定对id=a的资源的资源请求为第二类别。图3C为本发明实施例三提供的一种判断令牌可否取出的子方法流程图。参考图3C,该方法包括以下步骤:S3051、统计距离上一次从所述令牌桶提取所述令牌的时间。S3052、基于所述时间计算目标值。S3053、将数量为所述目标值的所述令牌写入所述令牌桶中。S3054、判断当前令牌桶中令牌个数是否大于id=a的资源请求需要的令牌个数;若大于或等于,则执行步骤S3055;若小于,则执行步骤S3056。S3055、可以取出令牌。S3056、不可以取出令牌。
若对id=a的资源的资源请求为第一类别,这直接向指定的资源设备请求查找id=a的资源。查找到资源后直接反馈,并不需要将id=a的资源保存到服务器的缓存中。
若对id=a的资源的资源请求为第二类别,则先从服务器的缓存中查找id=a的资源,若服务器的缓存中不具有id=a的资源,那么向指定的资源设备请求查找id=a的资源。将获得的id=a的资源写入缓存队列的头部。判断缓存队列是否已满。若已满,则删除缓存队列尾部的缓存资源。将id=a的缓存资源写入到缓存队列头部。
本发明实施例通过综合考虑用户发出请求的频率以及目标资源被请求的频率,从而决定获取目标资源的途径,解决了LRU算法导致的真正需要被缓存的资源很快就被淘汰删除,导致缓存命中率很低的问题,实现了在固定大小的缓存中,尽量保存真正需要被缓存的资源,以提高缓存命中率的有益效果。本实施例还提供了请求队列与缓存队列用于分别管理令牌桶与缓存资源,利用这种自删除的策略,可以解决在海量请求下,计数器个数暴增无法控制的问题,以有效控制了业务进程占用的内存大小。
实施例四
图4为本发明实施例四提供的一种缓存更新装置的结构示意图。该装置应用于服务器中,包括:资源请求接收模块41、频率类别确定模块42、目标资源查找模块43和缓存更新模块44。其中:
资源请求接收模块41,用于接收针对目标资源的资源请求;
频率类别确定模块42,用于根据所述资源请求确定所述目标资源的请求频率类别;
目标资源查找模块43,用于根据所述请求频率类别查找所述目标资源;
缓存更新模块44,用于根据所述请求频率类别和所述目标资源更新所述服务器的缓存。
本发明实施例通过综合考虑用户发出请求的频率以及目标资源被请求的频率,从而决定获取目标资源的途径,解决了LRU算法导致的真正需要被缓存的资源很快就被淘汰删除,导致缓存命中率很低的问题,实现了在固定大小的缓存中,尽量保存真正需要被缓存的资源,以提高缓存命中率的有益效果。
在上述实施例的基础上,频率类别确定模块还用于:
在预设的请求队列中查找到对所述目标资源设置的令牌桶;
从所述令牌桶中提取令牌;
若已提取出所述令牌,则确定所述目标资源的请求频率类别为第一类别;
若未提取出所述令牌,则确定所述目标资源的请求频率类别为第二类别。
在上述实施例的基础上,频率类别确定模块还用于:
若未查找到对所述目标资源设置的令牌桶,则对所述目标资源生成令牌桶。
在上述实施例的基础上,所述在预设的请求队列中查找到对所述目标资源设置的令牌桶之后,包括:
将所述令牌桶移动至所述请求队列的头部。
统计距离上一次从所述令牌桶提取所述令牌的时间;
基于所述时间计算目标值;
将数量为所述目标值的所述令牌写入所述令牌桶中。
在上述实施例的基础上,频率类别确定模块还用于:
统计所述请求队列中令牌桶的数量;
若所述数量大于预设的第一阈值,则删除位于所述请求队列的尾部的令牌桶,直至所述数量小于或等于所述第一阈值。
在上述实施例的基础上,目标资源查找模块还用于:
若所述目标资源的请求频率类别为第一类别,则向指定的资源设备请求所述目标资源;
或者,
若所述目标资源的请求频率类别为第二类别,则从所述服务器的缓存中查找所述目标资源。
在上述实施例的基础上,目标资源查找模块还用于:
若从所述服务器的缓存中不能查找到所述目标资源,则向指定的资源设备请求所述目标资源。
在上述实施例的基础上,缓存更新模块还用于:
当所述目标资源的请求频率类别为第二类别时,将所述目标资源写入缓存队列的头部。
在上述实施例的基础上,缓存更新模块还用于:
统计所述缓存队列中目标资源的数量;
若所述数量大于预设的第二阈值,则删除位于所述缓存队列中尾部的目标资源,直至所述数量小于或等于所述第二阈值。
本实施例提供的一种缓存更新装置可用于执行上述任一实施例提供的缓存更新方法,具有相应的功能和有益效果。
实施例五
图5为本发明实施例五提供的一种电子设备的结构示意图。如图5所示,该电子设备包括处理器50、存储器51、通信模块52、输入装置53和输出装置54;电子设备中处理器50的数量可以是一个或多个,图5中以一个处理器50为例;电子设备中的处理器50、存储器51、通信模块52、输入装置53和输出装置54可以通过总线或其他方式连接,图5中以通过总线连接为例。
存储器51作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本实施例中的一种缓存更新方法对应的模块(例如,一种缓存更新装置中的资源请求接收模块41、频率类别确定模块42、目标资源查找模块43和缓存更新模块33)。处理器50通过运行存储在存储器51中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的一种缓存更新方法。
存储器51可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器51可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器51可进一步包括相对于处理器50远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
通信模块52,用于与显示屏建立连接,并实现与显示屏的数据交互。输入装置53可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。
本实施例提供的一种电子设备,可执行本发明任一实施例提供的缓存更新方法,具体相应的功能和有益效果。
实施例六
本发明实施例六还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种缓存更新方法,该方法包括:
接收针对目标资源的资源请求;
根据所述资源请求确定所述目标资源的请求频率类别;
根据所述请求频率类别查找所述目标资源;
根据所述请求频率类别和所述目标资源更新所述服务器的缓存。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任一实施例所提供的缓存更新方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机电子设备(可以是个人计算机,服务器,或者网络电子设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述缓存更新方法装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (11)
1.一种缓存更新方法,其特征在于,应用在服务器中,包括:
接收针对目标资源的资源请求;
根据所述资源请求确定所述目标资源的请求频率类别,包括:
在预设的请求队列中查找到对所述目标资源设置的令牌桶;
从所述令牌桶中提取令牌;
若已提取出所述令牌,则确定所述目标资源的请求频率类别为第一类别;
若未提取出所述令牌,则确定所述目标资源的请求频率类别为第二类别;
根据所述请求频率类别查找所述目标资源;
根据所述请求频率类别和所述目标资源更新所述服务器的缓存。
2.根据权利要求1所述的方法,其特征在于,所述根据所述资源请求确定所述目标资源的请求频率类别,还包括:
若未查找到对所述目标资源设置的令牌桶,则对所述目标资源生成令牌桶。
3.根据权利要求1或2所述的方法,其特征在于,所述在预设的请求队列中查找到对所述目标资源设置的令牌桶之后,包括:
将所述令牌桶移动至所述请求队列的头部。
4.根据权利要求1所述的方法,其特征在于,所述根据所述资源请求确定所述目标资源的请求频率类别,还包括:
统计距离上一次从所述令牌桶提取所述令牌的时间;
基于所述时间计算目标值;
将数量为所述目标值的所述令牌写入所述令牌桶中。
5.根据权利要求1所述的方法,其特征在于,所述根据所述资源请求确定所述目标资源的请求频率类别,还包括:
统计所述请求队列中令牌桶的数量;
若所述数量大于预设的第一阈值,则删除位于所述请求队列的尾部的令牌桶,直至所述数量小于或等于所述第一阈值。
6.根据权利要求1所述的方法,其特征在于,所述根据所述请求频率类别查找所述目标资源,包括:
若所述目标资源的请求频率类别为第一类别,则向指定的资源设备请求所述目标资源;
或者,
若所述目标资源的请求频率类别为第二类别,则从所述服务器的缓存中查找所述目标资源。
7.根据权利要求6所述的方法,其特征在于,所述若所述目标资源的请求频率类别为第二类别,则从所述服务器的缓存中查找所述目标资源之后,还包括:
若从所述服务器的缓存中不能查找到所述目标资源,则向指定的资源设备请求所述目标资源。
8.根据权利要求1或2或4或5或6或7所述的方法,其特征在于,服务器包括用于存储缓存的缓存队列,所述根据所述请求频率类别和所述目标资源更新所述服务器的缓存,包括:
当所述目标资源的请求频率类别为第二类别时,将所述目标资源写入缓存队列的头部。
9.根据权利要求8所述的方法,其特征在于,所述根据所述请求频率类别和所述目标资源更新所述服务器的缓存,还包括:
统计所述缓存队列中目标资源的数量;
若所述数量大于预设的第二阈值,则删除位于所述缓存队列中尾部的目标资源,直至所述数量小于或等于所述第二阈值。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9任一所述的一种缓存更新方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-9任一所述的一种缓存更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811584565.3A CN109656939B (zh) | 2018-12-24 | 2018-12-24 | 一种缓存更新方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811584565.3A CN109656939B (zh) | 2018-12-24 | 2018-12-24 | 一种缓存更新方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109656939A CN109656939A (zh) | 2019-04-19 |
CN109656939B true CN109656939B (zh) | 2020-08-18 |
Family
ID=66115041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811584565.3A Active CN109656939B (zh) | 2018-12-24 | 2018-12-24 | 一种缓存更新方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109656939B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111984889A (zh) * | 2020-02-21 | 2020-11-24 | 广东三维家信息科技有限公司 | 缓存方法及系统 |
CN113268440B (zh) * | 2021-05-26 | 2022-08-02 | 上海哔哩哔哩科技有限公司 | 缓存淘汰方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105488208A (zh) * | 2015-12-11 | 2016-04-13 | 北京奇虎科技有限公司 | 数据查找方法与装置 |
CN107645547A (zh) * | 2017-09-14 | 2018-01-30 | 郑州云海信息技术有限公司 | 基于存储设备的数据热度确定方法、设备以及系统 |
CN107659431A (zh) * | 2017-08-15 | 2018-02-02 | 北京趣拿软件科技有限公司 | 接口处理方法、装置、存储介质和处理器 |
CN107688443A (zh) * | 2017-09-18 | 2018-02-13 | 郑州云海信息技术有限公司 | 一种数据存储的方法、系统及相关装置 |
CN108829344A (zh) * | 2018-05-24 | 2018-11-16 | 北京百度网讯科技有限公司 | 数据存储方法、装置及存储介质 |
CN109040153A (zh) * | 2017-06-08 | 2018-12-18 | 中兴通讯股份有限公司 | 缓存内容的缓存方法、相关设备和计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9521089B2 (en) * | 2014-08-30 | 2016-12-13 | International Business Machines Corporation | Multi-layer QoS management in a distributed computing environment |
-
2018
- 2018-12-24 CN CN201811584565.3A patent/CN109656939B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105488208A (zh) * | 2015-12-11 | 2016-04-13 | 北京奇虎科技有限公司 | 数据查找方法与装置 |
CN109040153A (zh) * | 2017-06-08 | 2018-12-18 | 中兴通讯股份有限公司 | 缓存内容的缓存方法、相关设备和计算机可读存储介质 |
CN107659431A (zh) * | 2017-08-15 | 2018-02-02 | 北京趣拿软件科技有限公司 | 接口处理方法、装置、存储介质和处理器 |
CN107645547A (zh) * | 2017-09-14 | 2018-01-30 | 郑州云海信息技术有限公司 | 基于存储设备的数据热度确定方法、设备以及系统 |
CN107688443A (zh) * | 2017-09-18 | 2018-02-13 | 郑州云海信息技术有限公司 | 一种数据存储的方法、系统及相关装置 |
CN108829344A (zh) * | 2018-05-24 | 2018-11-16 | 北京百度网讯科技有限公司 | 数据存储方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109656939A (zh) | 2019-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108495195B (zh) | 一种网络直播排行榜生成方法、装置、设备及存储介质 | |
US10133679B2 (en) | Read cache management method and apparatus based on solid state drive | |
CN110417671B (zh) | 数据传输的限流方法和服务器 | |
WO2017185616A1 (zh) | 文件存储方法及电子设备 | |
US10235047B2 (en) | Memory management method, apparatus, and system | |
JP7149365B2 (ja) | 検索方法、検索装置、電子機器及び記憶媒体 | |
CN110795029B (zh) | 一种云硬盘管理方法、装置、服务器及介质 | |
CN110598138A (zh) | 基于缓存的处理方法和装置 | |
KR20070117874A (ko) | 이동망 시스템의 능동적 캐쉬 제어 방법, 그 기록 매체 및그 시스템 | |
CN105045723A (zh) | 一种缓存数据处理方法、装置和系统 | |
CN107197359B (zh) | 视频文件缓存方法及装置 | |
US10838798B2 (en) | Processing system for performing predictive error resolution and dynamic system configuration control | |
CN109656939B (zh) | 一种缓存更新方法、装置、设备和存储介质 | |
US20210209024A1 (en) | Method, device and computer program product for managing cache | |
CN112631504A (zh) | 利用堆外内存实现本地缓存的方法和装置 | |
CN108520401B (zh) | 用户名单管理方法、装置、平台及存储介质 | |
US10616318B1 (en) | Load balancer employing slow start, weighted round robin target selection | |
CN106375455B (zh) | 一种数据传输方法及装置 | |
US11233847B1 (en) | Management of allocated computing resources in networked environment | |
CN106454419A (zh) | 一种获取数据的方法、装置和电子设备 | |
CN111259031A (zh) | 数据更新方法、装置、设备和存储介质 | |
US20150106884A1 (en) | Memcached multi-tenancy offload | |
KR20190136958A (ko) | 캐시 교체 방법 및 이를 실행하는 캐시 교체 장치 | |
JP3441028B2 (ja) | マルチメディア端末装置 | |
CN110889053A (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 |