System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据处理,尤其涉及一种数据获取方法、装置、电子设备及存储介质。
技术介绍
1、随着互联网的快速发展及互联网使用人数的增加,用户的访问量级及数据量越来越大。当请求量大的时候,直接从数据库读取数据,会造成数据库访问压力过大,导致崩溃。此外,从数据库中读取数据,响应速度较慢。因此,通常将访问量很大,但是数据变化不大的热点数据存储在缓存中,来提升数据的读写速度。
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、按照每个所述历史请求次数更新所述第一缓存中存储的数据查询类型的数据获取请求以及对应的数据。
38、在一些实施例,装置,还用于:
39、按照由大到小的顺序对每个所述历史请求次数进行排序,得到排序序列;
40、按照预设筛选规则从所述排序序列中筛选出多个目标历史请求次数;
41、将每个所述目标历史请求次数对应的数据查询类型的数据获取请求以及对应的数据存储至所述第一缓存中。
42、在一些实施例,装置,还用于:
43、将所述排序序列中前预设数量的历史请求次数确定为目标历史请求次数;或
44、将所述排序序列中前预设百分比的历史请求次数确定为目标历史请求次数。
45、在一些实施例,构建单元,用于:
46、获取所述第一数据获取请求包括的数据获取条件以及数据获取字段;
47、生成请求类型为查询语句类型的数据获取请求模板;
48、分别将所述数据获取条件以及所述数据获取字段写入所述数据获取请求模板的对应位置,得到查询语句类型的第二数据获取请求。
49、在一些实施例,装置,还用于:
50、在所述第二缓存中存储所述第二数据获取请求以及所述第二数据,并建立所述第二数据获取请求与所述第二数据的映射关系。
51、为实现上述目的,本申请实本文档来自技高网...
【技术保护点】
1.一种数据获取方法,其特征在于,包括:
2.根据权利要求1所述的数据获取方法,其特征在于,所述方法,还包括:
3.根据权利要求2所述的数据获取方法,其特征在于,在所述返回所述第一数据之后,还包括:
4.根据权利要求3所述的数据获取方法,其特征在于,所述按照每个所述历史请求次数更新所述第一缓存中存储的数据查询类型的数据获取请求以及对应的数据,包括:
5.根据权利要求4所述的数据获取方法,其特征在于,所述按照预设筛选规则从所述排序序列中筛选出多个目标历史请求次数,包括:
6.根据权利要求1所述的数据获取方法,其特征在于,所述根据所述第一数据获取请求构建请求类型为查询语句类型的第二数据获取请求,包括:
7.根据权利要求1所述的数据获取方法,其特征在于,所述方法,还包括:
8.一种数据获取装置,其特征在于,包括:
9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的数据获取方法。
1
...【技术特征摘要】
1.一种数据获取方法,其特征在于,包括:
2.根据权利要求1所述的数据获取方法,其特征在于,所述方法,还包括:
3.根据权利要求2所述的数据获取方法,其特征在于,在所述返回所述第一数据之后,还包括:
4.根据权利要求3所述的数据获取方法,其特征在于,所述按照每个所述历史请求次数更新所述第一缓存中存储的数据查询类型的数据获取请求以及对应的数据,包括:
5.根据权利要求4所述的数据获取方法,其特征在于,所述按照预设筛选规则从所述排序序列中筛选出多个目标历史请求次数,包括:
6.根据权利要求1所述的数据获取方法,其...
【专利技术属性】
技术研发人员:周毅,邓博文,
申请(专利权)人:中国平安人寿保险股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。