本发明涉及互联网,特别是涉及一种缓存处理方法、装置、电子设备及存储介质。
背景技术:
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、本发明实施例提供的缓存处理方法、装置、电子设备及存储介质,一方面,通过将本地缓存注入缓存管理器,使得在接收到应用客户端发起的缓存数据获取请求后,可以从所述本地缓存获取所述缓存数据获取请求对应的目标数据,在从所述本地缓存获取成功时,将所述目标数据返回至所述应用客户端,在从所述本地缓存获取失败时,从外部数据源获取所述目标数据,将所述目标数据存入所述本地缓存,并将所述目标数据返回至所述应用客户端,因此应用服务器可以从本地缓存获取目标数据,而无需再从外部数据源获取,从而能够提高数据获取效率,降低资源消耗;另一方面,通过配置本地缓存的维护信息,使得应用服务器可以根据维护信息对本地缓存执行维护操作,从而实现了对本地缓存的优化。
1.一种缓存处理方法,其特征在于,应用于应用服务器,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,将本地缓存注入缓存管理器,并配置所述本地缓存的维护信息,包括:
3.根据权利要求1所述的方法,其特征在于,所述本地缓存包括多个缓存键,所述维护信息包括各所述缓存键的刷新时间;
4.根据权利要求1所述的方法,其特征在于,所述本地缓存包括多个缓存键,所述维护信息包括各所述缓存键的刷新时间和批量刷新条件;
5.根据权利要求1所述的方法,其特征在于,所述本地缓存包括多个缓存键,所述维护信息包括各所述缓存键的失效时间;
6.根据权利要求1所述的方法,其特征在于,所述维护信息包括缓存拦截类,所述缓存拦截类中配置有拦截的外部数据源、拦截的通知方式和拦截的缓存方式;
7.根据权利要求1所述的方法,其特征在于,
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
9.一种缓存处理装置,其特征在于,应用于应用服务器,所述装置包括:
10.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8任一所述的方法。