一种客户端缓存方法、装置及其介质与流程

文档序号:36085053发布日期:2023-11-18 02:43阅读:28来源:国知局
一种客户端缓存方法、装置及其介质与流程

本发明涉及数据缓存,特别是涉及一种客户端缓存方法、装置及其介质。


背景技术:

1、在目前主流的单页应用程序(single page web application,spa)管理系统中,为实现快速响应,需要缩减页面加载的响应时间,常见采用客户端缓存策略,即在客户端对页面数据进行缓存或页面的文档对象模型(document object model,dom)结构进行缓存。

2、但是,上述传统的客户端缓存策略在确定待缓存的数据对象后,往往会在获取数据对象后直接进行数据缓存,没有考虑到缓存过多数据会对客户端内容空间的过度占用,进而导致客户端浏览器卡顿等问题,给用户的使用造成困扰,影响用户的使用体验。

3、所以,现在本领域的技术人员亟需要一种客户端缓存方法,解决传统的缓存策略可能导致客户端内存过度占用,进而出现浏览器卡顿、影响用户使用体验的问题。


技术实现思路

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、本发明提供的一种客户端缓存方法,在客户端缓存数据对象之前,先获取待缓存数据对象大小;并计算在缓存该数据对象后,客户端内存的使用率是否超过预设的第一阈值;若未超过,则说明客户端内存当前具有足够的空间换成该数据对象,可以缓存该数据对象以提高响应速度;若超过,则说明该数据对象缓存后会出现客户端内存空间不够的情况,可能会导致客户端卡顿、影响用户的使用体验,因而通过将数据对象以静态资源文件的形式缓存至客户端中;虽然以静态资源文件的方式缓存相对于直接缓存在内存中在响应速度上有所不如,但相比从服务端请求以获取数据对象的方式响应速度仍有较大的改善,同时也避免了因为缓存过度占用客户端内存而影响用户使用体验的问题。另外,在判断数据对象是否可以保存在内存的过程中,利用百分比形式的内存预计使用率与阈值进行比较,较好地克服了在实际应用中,不同系统有不同的内存总量,进而对内存不卡顿所要求保持的剩余空间大小也不一样的问题,进一步保证减少客户端卡顿问题出现的效果。

52、本发明提供的客户端缓存装置、及计算机可读存储介质,与上述方法对应,效果同上。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1