一种内存缓存处理方法、装置、终端及存储介质与流程

文档序号:35490083发布日期:2023-09-17 00:56阅读:23来源:国知局
一种内存缓存处理方法、装置、终端及存储介质与流程

本申请涉及内存缓存,尤其涉及一种内存缓存处理方法、装置、终端及存储介质。


背景技术:

1、随着web开发技术的发展,前端web应用越来越强大和复杂,需要对数据进行本地缓存,以提高用户体验和应用性能。其中,indexdb是一个大容量、高性能的浏览器本地存储机制,适合缓存大量的结构化数据。但是现有技术中在应用端读取indexdb数据库中的数据时,读取效率低,且缓存不稳定。


技术实现思路

1、有鉴于此,本申请提供一种内存缓存处理方法、装置、终端及存储介质,能够有效管理内存缓存数据,减少数据冷态时的访问时间,提高应用的响应速度和稳定性。

2、第一方面,本申请实施例提供一种内存缓存处理方法,包括:

3、检测应用端是否在空闲状态;

4、若是,检测所述应用端内存缓存的存储空间利用率;

5、判断所述内存缓存的所述存储空间利用率是否大于预设利用率;

6、若是,将所述内存缓存中每个缓存项的最近访问时间均与当前系统时间进行对比,得到每个所述缓存项的时间差值;

7、对所有所述缓存项的时间差值从大到小进行排序,通过缓存管理器将前n个所述时间差值对应的所述缓存项删除,其中n≥1。

8、在一些实施例中,所述检测应用端内存缓存的存储空间利用率,包括:

9、调用定时任务工具,并使用所述定时任务工具根据预设时间间隔进行周期性检测所述存储空间利用率。

10、在一些实施例中,所述将所述内存缓存中每个缓存项的最近访问时间与当前系统时间进行对比,得到每个所述缓存项的时间差值,包括:

11、检测所述应用端是否在所述空闲状态;

12、若是,调用所述定时任务工具获取每个所述缓存项的所述最近访问时间与当前系统时间,其中,所述缓存项包括数据对象、最近访问时间、缓存时间;

13、根据所述每个所述缓存项的所述最近访问时间与所述当前系统时间计算每个所述缓存项的时间差值。

14、在一些实施例中,所述通过缓存管理器将前n个所述时间差值对应的所述缓存项删除时,包括:

15、调用所述定时任务工具实时检测所述存储空间利用率;

16、若当前所述存储空间利用率小于所述预设利用率,则停止删除所述缓存项。

17、在一些实施例中,所述通过缓存管理器将前n个所述时间差值对应的所述缓存项删除时,还包括:

18、在所述缓存管理器每删除前m个所述时间差值对应的所述缓存项后,调用定时任务工具检测所述存储空间利用率,其中m≤n;

19、若当前所述存储空间利用率小于所述预设利用率,则停止删除所述缓存项。

20、在一些实施例中,所述调用所述定时任务工具获取每个所述缓存项的所述最近访问时间与当前系统时间包括:

21、通过requestidlecallback函数调用定时任务工具;

22、通过定时任务工具获取每个所述缓存项的所述最近访问时间与当前系统时间。

23、在一些实施例中,所述方法还包括:

24、监测所述内存缓存中缓存项数据变化情况,其中,所述内存缓存中的所述缓存项数据为使用dexie.js连接所述应用端的indexeddb数据库,并读取所述应用端需要的本地缓存数据存储到所述内存缓存中的数据;

25、响应于所述缓存项的变化情况,调整所述内存缓存的空间及所述预设利用率。

26、第二方面,本申请实施例提供一种内存缓存处理装置,包括:

27、第一检测模块,用于检测所述应用端是否在空闲状态;

28、第二检测模块,用于若是,检测应用端内存缓存的存储空间利用率;

29、判断模块,用于判断所述内存缓存的所述存储空间利用率是否大于预设利用率;

30、比对模块,用于若是,将所述内存缓存中每个缓存项的最近访问时间均与当前系统时间进行对比,得到每个所述缓存项的时间差值;

31、删除模块,用于对所有所述缓存项的时间差值从大到小进行排序,通过缓存管理器将前n个所述时间差值对应的所述缓存项删除,其中n≥1。

32、第三方面,本申请实施例提供一种终端设备,所述终端设备包括处理器和存储器,所述存储器存储有计算机程序,所述处理器用于执行所述计算机程序以实施上述的内存缓存处理方法。

33、第四方面,本申请实施例提供一种可读存储介质,其存储有计算机程序,所述计算机程序在处理器上执行时,实施根据上述的内存缓存处理方法。

34、本申请具有如下有益效果:本申请通过在应用端空闲状态下,检测应用端内存缓存的存储空间利用率,然后判断存储空间利用率是否大于预设利用率;若是,将所述内存缓存中每个缓存项的最近访问时间均与当前系统时间进行对比,得到每个所述缓存项的时间差值;对所有所述缓存项的时间差值从大到小进行排序,通过缓存管理器将前n个所述时间差值对应的所述缓存项删除。本申请通过在应用端空闲状态下进行内存缓存的处理,合理的利用了应用端的空闲时间,且不会影响应用端其他任务的执行情况,进一步地,本申请通过删除最久未访问的缓存项,使内存缓存的存储空间释放一部分,这样能够有效管理缓存数据,减少数据冷态时的访问时间,提高应用的响应速度和稳定性。



技术特征:

1.一种内存缓存处理方法,其特征在于,包括:

2.根据权利要求1所述的内存缓存处理方法,其特征在于,所述检测所述应用端内存缓存的存储空间利用率,包括:

3.根据权利要求2所述的内存缓存处理方法,其特征在于,所述将所述内存缓存中每个缓存项的最近访问时间与当前系统时间进行对比,得到每个所述缓存项的时间差值,包括:

4.根据权利要求2所述的内存缓存处理方法,其特征在于,所述通过缓存管理器将前n个所述时间差值对应的所述缓存项删除时,包括:

5.根据权利要求2所述的内存缓存处理方法,其特征在于,所述通过缓存管理器将前n个所述时间差值对应的所述缓存项删除时,还包括:

6.根据权利要求3所述的内存缓存处理方法,其特征在于,所述调用所述定时任务工具获取每个所述缓存项的所述最近访问时间与当前系统时间包括:

7.根据权利要求1-6任一所述的内存缓存处理方法,其特征在于,所述方法还包括:

8.一种内存缓存处理装置,其特征在于,包括:

9.一种终端设备,其特征在于,所述终端设备包括处理器和存储器,所述存储器存储有计算机程序,所述处理器用于执行所述计算机程序以实施权利要求1-7中任一项所述的内存缓存处理方法。

10.一种可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序在处理器上执行时,实施根据权利要求1-7中任一项所述的内存缓存处理方法。


技术总结
本申请涉及内存缓存技术领域,提供一种内存缓存处理方法、装置、终端及存储介质,该方法包括:检测所述应用端是否在空闲状态;若是,检测应用端内存缓存的存储空间利用率;判断所述内存缓存的所述存储空间利用率是否大于预设利用率;若是,将所述内存缓存中每个缓存项的最近访问时间均与当前系统时间进行对比,得到每个所述缓存项的时间差值;对所有所述缓存项的时间差值从大到小进行排序,通过缓存管理器将前N个所述时间差值对应的所述缓存项删除。本申请能够有效管理缓存数据,减少数据冷态时的访问时间,提高应用的响应速度和稳定性。

技术研发人员:黄方明,陈嘉辉,何俊泽
受保护的技术使用者:深圳复临科技有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1