System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及数据处理,尤其涉及一种数据缓存的方法及装置、电子设备和存储介质。
技术介绍
1、缓存技术广泛应用于软件开发和互联网架构设计中,用于减少数据访问时间,减少i/o(输入/输出)延迟,以提升响应效率和减少服务器压力,缓存技术的本质是将使用频率高的热点缓存数据缓存到数据系统中,并在使用数据时,可以在数据系统中进行热点缓存数据的快速读取,因此,在进行数据缓存时,需要考虑数据的缓存命中率,缓存命中率指的是在数据系统中读取数据时,读取到热点缓存数据的概率,缓存命中率高的缓存技术更具有价值。
2、然而,现有技术中的数据缓存方法,是基于内存进行数据的直接存储,无法区分出热点缓存数据来进行分类处理,导致缓存命中率较低。
技术实现思路
1、本公开提供了一种数据缓存的方法及装置、电子设备和存储介质。其主要目的在于解决现有技术中的数据缓存方法,是基于内存进行数据的直接存储,无法区分出热点缓存数据来进行分类处理,导致缓存命中率较低的问题。
2、根据本公开的第一方面,提供了一种数据缓存的方法,其中,包括:
3、将待缓存数据存储于第一缓存区中,并判断所述第一缓存区的可用存储空间是否大于预设空间阈值;
4、在确定所述第一缓存区的可用存储空间不大于所述预设空间阈值的情况下,从所述第一缓存区中提取第一缓存数据,所述第一缓存数据在所述第一缓存区中的存储时间,比所述第一缓存区中除所述第一缓存数据之外的其他数据的存储时间长;
5、判断第二缓存区的可用存储空
6、在根据所述判断结果确定将所述第一缓存数据存储于所述第二缓存区的情况下,获取所述第二缓存区中的每个缓存数据对应的第一调用频次,并将所述第一调用频次中大于第一预设频次阈值的调用频次对应的缓存数据作为热点缓存数据存储于第三缓存区中,所述第三缓存区为用于存储热点缓存数据的区域。
7、可选的,所述判断第二缓存区的可用存储空间是否大于所述预设空间阈值,并根据判断结果确定是否将所述第一缓存数据存储于所述第二缓存区中包括:
8、在所述第二缓存区的可用存储空间不大于所述预设空间阈值的情况下,从所述第二缓存区中提取第二缓存数据,所述第二缓存数据在所述第二缓存区中的存储时间,比所述第二缓存区中除所述第二缓存数据之外的其他数据的存储时间长;
9、获取所述第一缓存数据的第二调用频次以及所述第二缓存数据的第三调用频次,并将所述第二调用频次以及所述第三调用频次进行比对处理;
10、根据所述比对处理的结果确定是否将所述第一缓存数据存储于所述第二缓存区中;
11、在所述第二缓存区的可用存储空间大于所述预设空间阈值的情况下,将所述第一缓存数据存储于所述第二缓存区,其中,所述第二缓存区的存储空间大于所述第一缓存区的存储空间。
12、可选的,所述根据所述比对处理的结果确定是否将所述第一缓存数据存储于所述第二缓存区中包括:
13、若所述第二调用频次小于所述第三调用频次,则删除所述第一缓存数据,并将所述第二缓存数据存储于所述第二缓存区中;
14、若所述第二调用频次等于所述第三调用频次,则在所述第二调用频次大于第二预设频次阈值的情况下,将所述第一缓存数据存储于所述第二缓存区中,并删除所述第二缓存数据;
15、在所述第二调用频次不大于所述第二预设频次阈值的情况下,将所述第二缓存数据存储于所述第二缓存区中,并删除所述第一缓存数据;
16、若所述第二调用频次大于所述第三调用频次,则删除所述第二缓存数据,并将所述第一缓存数据存储于所述第二缓存区中。
17、可选的,所述将所述第一调用频次中大于第一预设频次阈值的调用频次对应的缓存数据作为热点缓存数据存储于第三缓存区中包括:
18、判断所述第三缓存区的可用存储空间是否大于所述预设空间阈值;
19、在所述第三缓存区的可用存储空间不大于所述预设空间阈值的情况下,从所述第三缓存区中提取第三缓存数据,所述第三缓存数据为在所述第三缓存区中存储时间最长的缓存数据;
20、删除所述第三缓存数据,并将所述第一调用频次大于所述第一预设频次阈值的缓存数据作为热点缓存数据存储于所述第三缓存区中;
21、在所述第三缓存区的可用存储空间大于所述预设空间阈值的情况下,将所述第一调用频次大于所述第一预设频次阈值的缓存数据作为热点缓存数据存储于所述第三缓存区中,所述第三缓存区的存储空间大于所述第二缓存区的存储空间。
22、可选的,在将接收到的待缓存数据存储于第一缓存区中之后,所述方法还包括:
23、获取所述第一缓存区、所述第二缓存区以及所述第三缓存区中每个缓存数据对应的第一数据名称;
24、通过预设统计算法分别计算所述第一缓存区、所述第二缓存区以及所述第三缓存区中每个缓存数据对应的第四调用频次,并通过哈希算法将所述第一数据名称转换为对应的第一哈希值;
25、根据所述第一数据名称将所述第四调用频次以及所述第一哈希值进行一一对应之后,存储于预设频次计数器中。
26、可选的,所述获取所述第二缓存区中的每个缓存数据对应的第一调用频次包括:
27、获取所述第二缓存区中的每个缓存数据对应的第二数据名称;
28、根据所述第二数据名称从所述预设频次计数器中匹配对应的第二哈希值,并获取所述第二哈希值对应的所述第一调用频次。
29、根据本公开的第二方面,提供了一种数据缓存的装置,包括:
30、存储单元,用于将待缓存数据存储于第一缓存区中;
31、判断单元,用于判断所述第一缓存区的可用存储空间是否大于预设空间阈值;
32、提取单元,用于在确定所述第一缓存区的可用存储空间不大于所述预设空间阈值的情况下,从所述第一缓存区中提取第一缓存数据,所述第一缓存数据在所述第一缓存区中的存储时间,比所述第一缓存区中除所述第一缓存数据之外的其他数据的存储时间长;
33、所述存储单元还用于,判断第二缓存区的可用存储空间是否大于所述预设空间阈值,并根据判断结果确定是否将所述第一缓存数据存储于所述第二缓存区中;
34、第一获取单元,用于在根据所述判断结果确定将所述第一缓存数据存储于所述第二缓存区的情况下,获取所述第二缓存区中的每个缓存数据对应的第一调用频次;
35、所述存储单元还用于,将所述第一调用频次中大于第一预设频次阈值的调用频次对应的缓存数据作为热点缓存数据存储于第三缓存区中,所述第三缓存区为用于存储热点缓存数据的区域。
36、可选的,所述存储单元包括:
37、提取模块,用于在所述第二缓存区的可用存储空间不大于所述预设空间阈值的情况下,从所述第二缓存区中提取第二缓存数据,所述第二缓存数据在所述第二缓存区中的存储时间,比所述第二缓存区中除所本文档来自技高网...
【技术保护点】
1.一种数据缓存的方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述判断第二缓存区的可用存储空间是否大于所述预设空间阈值,并根据判断结果确定是否将所述第一缓存数据存储于所述第二缓存区中包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述比对处理的结果确定是否将所述第一缓存数据存储于所述第二缓存区中包括:
4.根据权利要求1所述的方法,其特征在于,所述将所述第一调用频次中大于第一预设频次阈值的调用频次对应的缓存数据作为热点缓存数据存储于第三缓存区中包括:
5.根据权利要求1所述的方法,其特征在于,在将接收到的待缓存数据存储于第一缓存区中之后,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述获取所述第二缓存区中的每个缓存数据对应的第一调用频次包括:
7.一种数据缓存的装置,其特征在于,包括:
8.一种电子设备,其特征在于,包括:
9.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行根据权利要求1-
10.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-6中任一项所述的方法。
...【技术特征摘要】
1.一种数据缓存的方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述判断第二缓存区的可用存储空间是否大于所述预设空间阈值,并根据判断结果确定是否将所述第一缓存数据存储于所述第二缓存区中包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述比对处理的结果确定是否将所述第一缓存数据存储于所述第二缓存区中包括:
4.根据权利要求1所述的方法,其特征在于,所述将所述第一调用频次中大于第一预设频次阈值的调用频次对应的缓存数据作为热点缓存数据存储于第三缓存区中包括:
5.根据权利要求1所述的方法,其特征在于...
【专利技术属性】
技术研发人员:许阳,师忠涛,陶淘,倪希平,郭中魁,
申请(专利权)人:中移苏州软件技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。