本公开提供一种缓存管理方法与装置。缓存管理方法包括:获取针对目标数据的缓存访问请求;根据缓存访问请求以及请求处理结果更新缓存访问参数;根据所述缓存访问参数确定是否在缓存中清除所述目标数据。本公开提供的缓存管理方法可以查看并提高缓存命中率,从而提高系统运维效率。
【技术实现步骤摘要】
缓存管理方法与装置
本公开涉及计算机
,具体而言,涉及一种缓存管理方法与装置。
技术介绍
在目前的业务系统设计中,往往需要使用缓存加速数据的访问,提高系统的处理能力。存放于缓存中的数据通常是变化不频繁的数据,或者时效性在一段时间内变化不大的数据,例如代码表或统计结论。缓存中的数据是数据库中数据视图的一种投射,往往有过期时间,一旦过期,缓存会自动清除数据;此外,如果手工修改了数据库或者变更了数据没有通知缓存,缓存中的数据会和真正的数据不一致。此时,如果对缓存发起读取请求,则会造成无法成功读取目标数据的情况。读取请求能够成功读取目标数据的比例即为缓存命中率。决定缓存使用效率最重要指标是缓存命中率,缓存命中率越高,缓存所起到的作用才会越大。在现实中,缓存命中率往往由缓存提供者保存,开发或运维人员通常无法获取缓存命中率,也无法通过对缓存命中率细节的了解开发对缓存命中率的提高策略。因此,需要一种既能够查看缓存命中率,又能够提高缓存命中率的缓存管理方法。需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
本公开的目的在于提供一种缓存管理方法与缓存管理装置,用于至少在一定程度上克服相关技术中无法获取缓存命中率细节的问题。根据本公开实施例的第一方面,提供一种缓存管理方法,包括:获取针对目标数据的缓存访问请求;根据缓存访问请求以及请求处理结果更新缓存访问参数;根据所述缓存访问参数确定是否在缓存中清除所述目标数据。可选的,还包括:所述根据缓存访问请求以及请求处理结果更新缓存访问参数包括:判断所述缓存访问请求的属性是读取请求还是写入请求;如果是读取请求,对所述缓存访问请求的目标数据的读取次数加1;如果是写入请求,对所述目标数据的写入次数加1。可选的,所述根据所述缓存访问参数确定是否在缓存中清除所述目标数据括:判断所述目标数据的所述写入次数与所述读取次数的比值是否大于第二阈值;如果是,将所述目标数据的标识符写入待审核数据库。可选的,所述根据缓存访问请求以及请求处理结果更新缓存访问参数包括:判断所述缓存访问请求的属性是读取请求还是写入请求;如果是读取请求,对所述缓存访问请求的目标数据的读取次数加1;判断所述读取请求是否成功读取所述目标数据;如果成功读取所述目标数据,对所述目标数据的命中次数加1。可选的,所述根据所述缓存访问参数确定是否在缓存中清除所述目标数据包括:判断所述目标数据的所述命中次数与所述读取次数的比值是否小于第二阈值;如果是,将所述目标数据的标识符写入待审核数据库。可选的,根据所述缓存访问参数确定是否在缓存中清除所述目标数据包括:接收所述待审核数据库发送的数据清除消息,所述数据清除消息包括待清除缓存数据的识别符;清除与所述识别符对应的缓存数据。可选的,还包括:根据所述缓存访问参数确定是否在缓存中清除所述目标数据相关的缓存数据。可选的,还包括:根据数据库的改动实时更新与所述数据库中的改动数据对应的缓存数据。可选的,根据数据库的改动实时更新与所述数据库中的改动数据对应的缓存数据包括:监听与缓存对应的数据库的变化日志,判断所述数据库中的数据是否有改动;如果有改动,根据所述改动确定目标数据以及所述目标数据的更新值;根据所述目标数据以及所述更新值更新缓存数据。根据本公开实施例的第二方面,提供一种缓存管理装置,包括:请求拦截模块,设置为获取针对目标数据的缓存访问请求;参数获取模块,设置为根据缓存访问请求以及请求处理结果更新缓存访问参数;数据调整模块,设置为根据所述缓存访问参数确定是否在缓存中清除所述目标数据。根据本公开的第三方面,提供一种缓存管理装置,包括:存储器;以及耦合到所属存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如上述任意一项所述的方法。根据本公开的第四方面,提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如上述任意一项所述的缓存管理方法。本公开的缓存管理方法通过拦截缓存访问请求,并根据缓存访问请求的属性和处理结果获取缓存访问参数,从而根据缓存访问参数判断是否将数据移出缓存,可以在提供缓存命中率外部查看功能的同时删除不适合放入缓存的数据,从而提高缓存命中率。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示意性示出本公开示例性实施例中缓存管理方法的流程图。图2示意性示出本公开示例性实施例中缓存管理方法的另一种流程图。图3示意性示出本公开示例性实施例中缓存管理方法的再一种流程图。图4示意性示出本公开一个示例性实施例中一种缓存管理装置的方框图。图5示意性示出本公开一个示例性实施例中另一种缓存管理装置的方框图。具体实施方式现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。此外,附图仅为本公开的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。下面结合附图对本公开示例实施方式进行详细说明。图1示意性示出本公开示例性实施例中缓存管理方法的流程图。参考图1,缓存管理方法100可以包括:步骤S102,获取针对目标数据的缓存访问请求。步骤S104,根据缓存访问请求以及请求处理结果更新缓存访问参数。步骤S106,根据所述缓存访问参数确定是否在缓存中清除所述目标数据。本公开的缓存管理方法通过拦截缓存访问请求,并根据缓存访问请求的属性和处理结果获取缓存访问参数,从而根据缓存访问参数判断是否将数据移出缓存,可以在提供缓存命中率外部查看功能的同时删除不适合放入缓存的数据,提高缓存命中率。下面,对缓存管理方法100的各步骤进行详细说明。在步骤S102,获取针对目标数据的缓存访问请求。首先,可以通过例如AOP代理等方法拦截缓存访问请求。在本公开的其他实施例中,也可以使用其他工具对缓存访问请求进行拦截,本公开对此不作特殊限定。以客户管理系统的缓存为例,缓存访问请求例如可以为以客户账号或证件号为标识请求访问客户信息的请求。在步骤S本文档来自技高网...

【技术保护点】
一种缓存管理方法,其特征在于,包括:获取针对目标数据的缓存访问请求;根据缓存访问请求以及请求处理结果更新缓存访问参数;根据所述缓存访问参数确定是否在缓存中清除所述目标数据。
【技术特征摘要】
1.一种缓存管理方法,其特征在于,包括:获取针对目标数据的缓存访问请求;根据缓存访问请求以及请求处理结果更新缓存访问参数;根据所述缓存访问参数确定是否在缓存中清除所述目标数据。2.如权利要求1所述的缓存管理方法,其特征在于,所述根据缓存访问请求以及请求处理结果更新缓存访问参数包括:判断所述缓存访问请求的属性是读取请求还是写入请求;如果是读取请求,对所述缓存访问请求的目标数据的读取次数加1;如果是写入请求,对所述目标数据的写入次数加1。3.如权利要求2所述的缓存管理方法,其特征在于,所述根据所述缓存访问参数确定是否在缓存中清除所述目标数据括:判断所述目标数据的所述写入次数与所述读取次数的比值是否大于第二阈值;如果是,将所述目标数据的标识符写入待审核数据库。4.如权利要求1所述的缓存管理方法,其特征在于,所述根据缓存访问请求以及请求处理结果更新缓存访问参数包括:判断所述缓存访问请求的属性是读取请求还是写入请求;如果是读取请求,对所述缓存访问请求的目标数据的读取次数加1;判断所述读取请求是否成功读取所述目标数据;如果成功读取所述目标数据,对所述目标数据的命中次数加1。5.如权利要求4所述的缓存管理方法,其特征在于,所述根据所述缓存访问参数确定是否在缓存中清除所述目标数据包括:判断所述目标...
【专利技术属性】
技术研发人员:邹彬,
申请(专利权)人:泰康保险集团股份有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。