本发明专利技术提供了一种缓存管理方法及装置,该方法包括:以第一缓存保存完整的页面,以第二缓存保存构成所述页面的页面片段,以第三缓存保存构成所述页面片段的原始数据;实时计算所述第一缓存中的页面的缓存命中率;如果所述缓存命中率高于设定的第一阈值,则保持将所述页面保存在所述第一缓存中;否则从所述第一缓存中删除所述页面。利用本发明专利技术,可以提高缓存的使用效率。
【技术实现步骤摘要】
一种缓存管理方法和装置
本专利技术涉及网站
,具体而言,涉及一种缓存管理方法和装置。
技术介绍
目前在网站
,大部分网站通过将经常使用的数据在更高速的存储中进行临时存储,在访问的时候直接使用高速缓存中的数据以避免对低速设备的访问,从而提高了系统的性能。 目前各个网站在使用缓存的过程中采用单一缓存,然而,数据的访问特点是不同的,单一的缓存无法解决数据的差异性,从而导致缓存的利用效率低下。
技术实现思路
本专利技术实施例提供一种缓存管理方法和装置,以提高缓存利用效率。 为此,本专利技术实施例提供如下技术方案: 一种缓存管理方法,包括: 以第一缓存保存完整的页面,以第二缓存保存构成所述页面的页面片段,以第三缓存保存构成所述页面片段的原始数据; 实时计算所述第一缓存中的页面的缓存命中率; 如果所述缓存命中率高于设定的第一阈值,则保持将所述页面保存在所述第一缓存中;否则从所述第一缓存中删除所述页面。 进一步地,所述方法还包括: 实时计算所述第二缓存中的页面片段的缓存命中率; 如果所述页面片段的缓存命中率高于设定的第二阈值,则保持将所述页面片段保存在所述第二缓存中;否则从所述第二缓存中删除所述页面。 进一步地,所述方法还包括: 实时计算所述第三缓存中的原始数据的缓存命中率; 如果所述原始数据的缓存命中率高于设定的第三阈值,则保持将所述原始数据保存在所述第三缓存中;否则从所述第三缓存中删除所述原始数据。 优选地,以第一缓存保存完整的页面包括: 以所述页面的URL为键对所述页面进行保存。 优选地,以第二缓存保存构成所述页面的页面片段包括: 以所述页面的URL加所述页面片段的编号为键将所述页面片段的文本进行保存。 优选地,以第三缓存保存构成所述页面片段的原始数据包括: 以所述原始数据的对象类型和对象主键ID作为联合键将所述原始数据进行存储。 一种用于网站的缓存管理装置,包括: 第一缓存,用于保存完整的页面; 第二缓存,用于保存构成所述页面的页面片段; 第三缓存,用于保存构成所述页面片段的原始数据; 计算模块,用于实时计算所述第一缓存中的页面的缓存命中率; 更新模块,用于在所述页面的缓存命中率高于设定的第一阈值时,保持将所述页面保存在所述第一缓存中,否则从所述第一缓存中删除所述页面。 进一步地,所述计算模块,还用于实时计算所述第二缓存中的页面片段的缓存命中率; 相应地,所述更新模块,还用于在所述页面片段的缓存命中率高于设定的第二阈值时,保持将所述页面保存在所述第二缓存中;否则从所述第二缓存中删除所述页面。 进一步地,所述计算模块,还用于实时计算所述第三缓存中的原始数据的缓存命中率; 相应地,所述更新模块,还用于在所述原始数据的缓存命中率高于设定的第三阈值时,保持将所述原始数据保存在所述第三缓存中;否则从所述第三缓存中删除所述原始数据。 优选地,所述第一缓存以所述页面的URL为键对所述页面进行保存。所述第二缓存以所述页面的URL加所述页面片段的编号为键将所述页面片段的文本进行保存。所述第三缓存以所述原始数据的对象类型和对象主键ID作为联合键将所述原始数据进行存储。 本专利技术实施例提供的缓存管理方法和装置,采用分级缓存方式,可以根据数据的特点进行针对性地选择特定的缓存,从而使缓存的利用效率得到极大的提升。进一步地,通过自动调整缓存的使用方式,可以根据系统数据的特点实时动态调整缓存的使用,从而进一步提高缓存的使用效率。 【附图说明】 图1是本专利技术实施例缓存管理方法的流程图; 图2是本专利技术实施例缓存管理装置的结构示意图; 图3是本专利技术实施例中网站系统分级缓存的架构示意图; 图4是本专利技术实施例中网站自动调整系统分级缓存的过程示意图。 【具体实施方式】 下面将参考附图并结合实施例,来详细说明本专利技术。 针对现有技术中各个网站在使用缓存的过程中采用单一缓存,使得缓存利用率低的问题,本专利技术实施例提供一种用于网站的缓存管理方法和装置,采用分级缓存方式,可以根据数据的特点进行针对性地选择特定的缓存,从而使缓存的利用效率得到极大的提升。进一步地,通过自动调整缓存的使用方式,可以根据系统数据的特点实时动态调整缓存的使用,从而进一步提高缓存的使用效率。 需要说明的是,在本专利技术实施例中,不同级别的缓存的具体实现可以采用下述方式。 页面缓存:页面缓存的实现在具体实施的时候通过过滤器的技术进行实现,在过滤器一级截获请求的页面,并以URL为键将页面的文本进行缓存。在具体实现的时候,要求系统不仅能够将页面缓存,还能够根据外部指令进行动态选择是使用缓存还是直接生成页面。 页面片段缓存:页面片段的缓存可以使用前面页面缓存的技术,在生成页面的时候将页面片段进行缓存,缓存以URL加片段编号为键将页面片段的文本进行缓存。在具体实现的时候,同样要求系统不仅能够将页面片段缓存,还要能够根据外部指令进行动态选择是使用页面片段缓存还是直接生成页面片段。 原始数据缓存:原始数据缓存的实现可以基于内存中的对象进行,将原始数据提取之后封装到内存数据对象中,在以后的修改、删除和查询的过程中直接使用内存数据对象,从而避免了对数据库的访问。在内存存储数据对象的时候,可以使用对象类型和对象主键ID作为联合键进行存储,在数据操作的时候通过键获取到相应的数据对象,再进行数据的处理和展示。在具体实现的时候,同样要求系统不仅能够将原始数据缓存,还要能够根据外部指令进行动态选择是使用原始数据缓存还是直接访问数据库获取数据。 如图1所示,是本专利技术实施例缓存管理方法的流程图,包括以下步骤: 步骤101,以第一缓存保存完整的页面,以第二缓存保存构成所述页面的页面片段,以第三缓存保存构成所述页面片段的原始数据; 步骤102,实时计算所述第一缓存中的页面的缓存命中率; 步骤103,如果所述缓存命中率高于设定的第一阈值,则保持将所述页面保存在所述第一缓存中;否则从所述第一缓存中删除所述页面。 当然,针对第二缓存中的页面片段,也可以实时计算所述第二缓存中的页面片段的缓存命中率。如果所述页面片段的缓存命中率高于设定的第二阈值,则保持将所述页面片段保存在所述第二缓存中;否则从所述第二缓存中删除所述页面。 同样,针对第三缓存中的原始数据,也可以实时计算所述第三缓存中的原始数据的缓存命中率。如果所述原始数据的缓存命中率高于设定的第三阈值,则保持将所述原始数据保存在所述第三缓存中;否则从所述第三缓存中删除所述原始数据。 页面片段的缓存命中率指的是要访问的页面片段在缓存中找到和没在缓存中找至IJ(需要实时生成)的比例关系,即在缓存中找到的次数与总的查找次数(在缓存中找到的次数和在缓存中没有找到的次数的总和)的百分比。同理,针对原始数据的缓存命中率指的也是在缓存中找到和没在缓存中找到(需要访问数据库获取)的比例关系,两者的计算方法是一致的。 需要说明的是,上述第一阈值、第二阈值、以及第三阈值可以相同,也可以不同,对此本专利技术实施例不做限定。 可见,本专利技术实施例提供的缓存管理方法,采用分级缓存方式,可以根据数据的特点进行针对性地选择特定的缓存,从而使缓存的利用效率得到极大的提升。本文档来自技高网...
【技术保护点】
一种缓存管理方法,其特征在于,包括:以第一缓存保存完整的页面,以第二缓存保存构成所述页面的页面片段,以第三缓存保存构成所述页面片段的原始数据;实时计算所述第一缓存中的页面的缓存命中率;如果所述缓存命中率高于设定的第一阈值,则保持将所述页面保存在所述第一缓存中;否则从所述第一缓存中删除所述页面。
【技术特征摘要】
1.一种缓存管理方法,其特征在于,包括: 以第一缓存保存完整的页面,以第二缓存保存构成所述页面的页面片段,以第三缓存保存构成所述页面片段的原始数据; 实时计算所述第一缓存中的页面的缓存命中率; 如果所述缓存命中率高于设定的第一阈值,则保持将所述页面保存在所述第一缓存中;否则从所述第一缓存中删除所述页面。2.根据权利要求1所述的方法,其特征在于,还包括: 实时计算所述第二缓存中的页面片段的缓存命中率; 如果所述页面片段的缓存命中率高于设定的第二阈值,则保持将所述页面片段保存在所述第二缓存中;否则从所述第二缓存中删除所述页面。3.根据权利要求1或2所述的方法,其特征在于,还包括: 实时计算所述第三缓存中的原始数据的缓存命中率; 如果所述原始数据的缓存命中率高于设定的第三阈值,则保持将所述原始数据保存在所述第三缓存中;否则从所述第三缓存中删除所述原始数据。4.根据权利要求1所述的方法,其特征在于,以第一缓存保存完整的页面包括: 以所述页面的URL为键对所述页面进行保存。5.根据权利要求1所述的方法,其特征在于,以第二缓存保存构成所述页面的页面片段包括: 以所述页面的URL加所述页面片段的编号为键将所述页面片段的文本进行保存。6.根据权利要求1所述的方法,其特征在于,以第三缓存保存构成所述页面片段的原始数据包括: 以所述原始数据的对象类型和对象主键ID作为联合键...
【专利技术属性】
技术研发人员:齐明,李少明,
申请(专利权)人:北大方正集团有限公司,方正信息产业控股有限公司,北京北大方正电子有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。