数据缓存方法技术

技术编号:39401997 阅读:8 留言:0更新日期:2023-11-19 15:54
本申请实施例提供了一种数据缓存方法

【技术实现步骤摘要】
数据缓存方法、系统、设备以及存储介质


[0001]本申请实施例涉及计算机
,尤其涉及一种数据缓存方法

系统

设备以及存储介质


技术介绍

[0002]随着互联网的迅速发展,应用程序所需接收的访问量也随之增长,相应的,应用服务器和数据库服务器需要承载更多的计算量,由于服务器资源和数据库所能承载的查询能力都是有限的,需要引入缓存来避免因并发量过高而导致数据库的负载升高,甚至服务中断的问题

[0003]然而,现有的缓存方法没有设置合理的缓存管理机制,面对海量的访问请求,容易出现缓存雪崩

击穿以及穿透等问题


技术实现思路

[0004]本申请实施例提供了一种数据缓存方法

系统

设备以及存储介质,解决了现有的数据缓存方法方法缺乏合理的缓存管理机制的问题,实现了将系统数据划分为业务数据以及配置数据的双向管理,建立合理的缓存清除以及防御机制,有效应对海量的访问请求,减少缓存异常问题,提高业务数据以及配置数据的缓存稳定性,保障业务功能的正常运行

[0005]第一方面,本申请实施例提供了一种数据缓存方法,该方法包括:
[0006]响应于满足预设类型条件的数据请求,在当前缓存数据中查询所述数据请求对应的业务数据,在查询结果为空的情况下,访问数据库,并基于对所述数据库的访问结果进行缓存;
[0007]加载预设配置文件得到配置数据,将所述配置数据基于预设保护机制进行缓存;
[0008]在当前缓存数据的容量达到预设阈值的情况下,从所述当前缓存数据中将标记为预设引用强度的缓存数据进行移除,所述预设引用强度为在数据缓存过程中基于缓存数据之间的引用程度进行的标记

[0009]第二方面,本申请实施例还提供了一种数据缓存装系统,包括:
[0010]业务数据缓存模块,配置为响应于满足预设类型条件的数据请求,在当前缓存数据中查询所述数据请求对应的业务数据,在查询结果为空的情况下,访问数据库,并基于对所述数据库的访问结果进行缓存;
[0011]配置数据缓存模块,配置为加载预设配置文件得到配置数据,将所述配置数据基于预设保护机制进行缓存;
[0012]缓存数据清除模块,配置为在当前缓存数据的容量达到预设阈值的情况下,从所述当前缓存数据中将标记为预设引用强度的缓存数据进行移除,所述预设引用强度为在数据缓存过程中基于缓存数据之间的引用程度进行的标记

[0013]第三方面,本申请实施例还提供了一种数据缓存设备,该设备包括:
[0014]一个或多个处理器;
[0015]存储装置,配置为存储一个或多个程序,
[0016]当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本申请实施例所述的数据缓存方法

[0017]第四方面,本申请实施例还提供了一种存储计算机可执行指令的非易失性存储介质,所述计算机可执行指令在由计算机处理器执行时配置为执行本申请实施例所述的数据缓存方法

[0018]本申请实施例中,通过响应于满足预设类型条件的数据请求,在当前缓存数据中查询数据请求对应的业务数据,在查询结果为空的情况下,访问数据库,并基于对数据库的访问结果进行缓存;然后,加载预设配置文件得到配置数据,将配置数据基于预设保护机制进行缓存;最后,在当前缓存数据的容量达到预设阈值的情况下,从当前缓存数据中将标记为预设引用强度的缓存数据进行移除,预设引用强度为在数据缓存过程中基于缓存数据之间的引用程度进行的标记

实现了将系统数据划分为业务数据以及配置数据的双向管理,建立合理的缓存清除以及防御机制,有效应对海量的访问请求,减少缓存异常问题,提高业务数据以及配置数据的缓存稳定性,保障业务功能的正常运行

附图说明
[0019]图1为本申请实施例提供的一种数据缓存方法的流程图;
[0020]图2为本申请实施例提供的一种查询业务数据缓存情况的方法的流程图;
[0021]图3为本申请实施例提供的一种数据库的访问结果的处理方法的流程图;
[0022]图4为本申请实施例提供的一种数据库的访问方法的流程图;
[0023]图5为本申请实施例提供的另一种数据缓存方法的流程图;
[0024]图6为本申请实施例提供的另一种数据缓存方法的流程图;
[0025]图7为本申请实施例提供的一种配置数据更新的方法的流程图;
[0026]图8为本申请实施例提供的一种数据缓存装系统的结构框图;
[0027]图9为本申请实施例提供的一种数据缓存设备的结构示意图

具体实施方式
[0028]下面结合附图和实施例对本申请实施例作进一步的详细说明

可以理解的是,此处所描述的具体实施例仅仅用于解释本申请实施例,而非对本申请实施例的限定

另外还需要说明的是,为了便于描述,附图中仅示出了与本申请实施例相关的部分而非全部结构

[0029]本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序

应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个

此外,说明书以及权利要求中“和
/
或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系

[0030]本申请实施例提供的数据缓存方法,用于提供数据分类缓存机制以及缓存清除机制

具体应用场景可以包括:游戏数据管理

应用数据管理等

以游戏数据管理为示例,业务数据可以是玩家数据,配置数据可以是游戏启动时的初始化数据,针对业务数据以及配置
数据可以设置不同的缓存策略,对于缓存容量进行监控

前述罗列的几种应用场景仅是示例性和解释性的,在实际应用中,还可以在其他场景下的数据缓存中用到该数据缓存方法,本申请实施例对此不作限定

本申请旨在提供一种数据缓存方法,解决现有的数据缓存方法缺乏合理的缓存管理机制的问题

[0031]本申请实施例提供的数据缓存方法,各步骤的执行主体可以是计算机设备,该计算机设备是指任何具备数据计算

处理和存储能力的电子设备,如手机
、PC(Personal Computer
,个人计算机
)、
平板电脑等终端设备,也可以是服务器等设备,本申请实施例对此不作限定

[0032]图1为本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
数据缓存方法,其特征在于,包括:响应于满足预设类型条件的数据请求,在当前缓存数据中查询所述数据请求对应的业务数据,在查询结果为空的情况下,访问数据库,并基于对所述数据库的访问结果进行缓存;加载预设配置文件得到配置数据,将所述配置数据基于预设保护机制进行缓存;在当前缓存数据的容量达到预设阈值的情况下,从所述当前缓存数据中将标记为预设引用强度的缓存数据进行移除,所述预设引用强度为在数据缓存过程中基于缓存数据之间的引用程度进行的标记
。2.
根据权利要求1所述的数据缓存方法,其特征在于,所述在当前缓存数据中查询所述数据请求对应的业务数据,包括:在记录的空值集合中存在对应于空值的请求与所述数据请求相同的情况下,返回空值结果;在记录的空值集合中不存在对应于空值的请求与所述数据请求相同的情况下,在当前缓存数据中查询与所述数据请求对应的业务数据
。3.
根据权利要求2所述的数据缓存方法,其特征在于,所述基于对所述数据库的访问结果进行数据缓存,包括:在访问结果为空的情况下,将对应于空值的数据请求添加至所述空值集合;在访问结果为有效数据的情况下,将所述访问结果对应的业务数据进行缓存
。4.
根据权利要求1所述的数据缓存方法,其特征在于,所述访问数据库,包括:在所述数据请求对应的线程处于持有互斥锁的状态的情况下,访问数据库;在所述基于对所述数据库的访问结果进行数据缓存时,还包括:基于所述数据请求对应的线程释放所述互斥锁
。5.
根据权利要求1所述的数据缓存方法,其特征在于,所述当前缓存数据包括多个缓存子数据;所述数据缓存方法还包括:对每个所述缓存子数据的失效时间增加预设随机值得到更新失效时间,将所述更新失效时间作为每个所述缓存子数据的当前失效时间
。6.
根据权利要求1所述的数据缓存方法,其特征在于,所述将所述配置数据基于预设保护机制进行缓存,包括:对每个所述预设配置文件对应的配置数据设置存储标识,并对应于每个所述存储标识基于预设保护机制缓存对应的配置数据
。7.
根据权利要求1所述的数据缓存方法,其特征在于,所述预设配置文件包括多个配置文件;所述加载预设配置文件得到配置数据,将所述配置数据基于预设保护机...

【专利技术属性】
技术研发人员:李梦
申请(专利权)人:广州三七极耀网络科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1