CN117492855A - 页面缓存方法、装置、设备及存储介质 - Google Patents
页面缓存方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117492855A CN117492855A CN202310889340.3A CN202310889340A CN117492855A CN 117492855 A CN117492855 A CN 117492855A CN 202310889340 A CN202310889340 A CN 202310889340A CN 117492855 A CN117492855 A CN 117492855A
- Authority
- CN
- China
- Prior art keywords
- page
- cache
- information
- routing address
- address information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000012545 processing Methods 0.000 abstract description 10
- 238000004590 computer program Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000012216 screening Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000009877 rendering Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 235000008694 Humulus lupulus Nutrition 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 235000012813 breadcrumbs Nutrition 0.000 description 1
- 230000001680 brushing effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种页面缓存方法、装置、设备及存储介质,页面缓存方法包括:获取路由实例中第一页面的路由跳转信息,并根据路由跳转信息确定第一页面跳转到的第二页面;基于路由跳转信息,获取第一页面的路由配置信息以及第二页面的路由配置信息;若缓存指示信息指示缓存第一页面,缓存第一页面;根据第一页面的页面路径信息以及第二页面的页面路径信息确定第一页面与第二页面的关联关系,并根据关联关系确定是否保留第一页面的缓存。本申请基于页面的路由配置信息确定页面的缓存逻辑,而非根据业务代码确定页面的缓存逻辑,实现页面缓存与业务代码解耦,降低处理逻辑复杂度。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种页面缓存方法、装置、设备及存储介质。
背景技术
在后台管理系统中,经常会存在多级页面关系,例如三级页面关系中包括父级搜索列表页、子级搜索列表页、搜索结果详情页,当用户在父级搜索列表页通过筛选条件和翻页等操作进入子级搜索列表页,再通过筛选条件和翻页等操作进入搜索结果详情页后,要返回上一级页面,即返回到子级搜索列表页或返回到父级搜索列表页时,为了保证良好的用户体验,则需要缓存子级搜索列表页或返回到父级搜索列表页。在通过缓存组件实例实现页面缓存时,通常技术人员需要在业务代码中动态维护用于缓存组件实例的组件,逻辑复杂,很难维护。
发明内容
本申请提供一种页面缓存方法、装置、设备及存储介质,基于页面的路由配置信息确定页面的缓存逻辑,而非根据业务代码确定页面的缓存逻辑,以在页面缓存时,解耦页面缓存信息与业务代码的关系,降低处理逻辑复杂度。
第一方面,本申请提供一种页面缓存方法,该方法可应用于后台管理系统中,可通过电子设备来执行,该电子设备可以为手机、电脑等,本申请在此不具体限定。执行如下:
获取路由实例中第一页面的路由跳转信息,并根据路由跳转信息确定第一页面跳转到的第二页面,路由跳转信息用于指示当前页面待跳转的下一页面;基于路由跳转信息,获取第一页面的路由配置信息以及第二页面的路由配置信息,第一页面的路由配置信息包括用于指示是否缓存第一页面的缓存指示信息、第一页面的页面路径信息,第二页面的路由配置信息包括第二页面的页面路径信息;若缓存指示信息指示缓存第一页面,缓存第一页面;根据第一页面的页面路径信息以及第二页面的页面路径信息确定第一页面与第二页面的关联关系,并根据关联关系确定是否保留第一页面的缓存。
本申请根据第一页面路由配置信息中的缓存指示信息,确实执行具体业务时,第一页面是否需要缓存,若确定第一页面需要缓存,可将第一页面缓存,之后根据第一页面与第二页面的关联关系进一步确定是否保留第一页面的缓存,本申请中,第一页面的缓存逻辑是基于当前页面与待跳转页面的关联关系确定,且该关联关系是基于页面路由配置信息中的页面路径信息确定,并未与业务代码绑定,减少了代码侵入风险,且基于当前页面以及待跳转页面的关联关系维护页面的缓存逻辑,无需在业务代码中动态维护页面的缓存逻辑,降低了逻辑复杂度。
第二方面,本申请提供一种页面缓存装置,包括:路由跳转信息获取单元、路由配置信息获取单元、缓存单元以及判断单元。
其中,路由跳转信息获取单元,用于获取路由实例中第一页面的路由跳转信息,并根据路由跳转信息确定第一页面跳转到的第二页面,路由跳转信息用于指示当前页面待跳转的下一页面;路由配置信息获取单元,用于基于路由跳转信息,获取第一页面的路由配置信息以及第二页面的路由配置信息,第一页面的路由配置信息包括用于指示是否缓存第一页面的缓存指示信息、第一页面的页面路径信息,第二页面的路由配置信息包括第二页面的页面路径信息;缓存单元,用于若缓存指示信息指示缓存第一页面,缓存第一页面;判断单元,用于根据第一页面的页面路径信息以及第二页面的页面路径信息确定第一页面与第二页面的关联关系,并根据关联关系确定是否保留第一页面的缓存。
第三方面,本申请还提供一种电子设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行实现上述第一方面的任意方法。
第四方面,本申请还提供一种计算机可读存储介质,其中存储有计算机可读指令,当计算机读取并执行所述计算机可读指令时,实现上述第一方面的任意方法。
第五方面,本申请提供了一种计算机程序产品,包括有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行实现上述第一方面的任意方法。
上述第二方面至第五方面可以达到的技术效果,请参照上述第一方面中相应可能设计方案可以达到的技术效果说明,本申请这里不再重复赘述。
本申请的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的三级页面跳转的示意图;
图2为本申请实施例提供的一种页面缓存方法的流程示意图;
图3为本申请实施例提供的一种渲染视图的流程示意图;
图4为本申请实施例提供的一种页面组件实例缓存的流程示意图;
图5为本申请实施例提供的一种页面缓存装置的结构示意图;
图6为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本申请下述实施例中,“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。以及,除非有相反的说明,本申请实施例提及“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
为了更好地说明本申请的方案,先对本申请中可能应用的名词进行解释说明:
HTML:全称为超文本标记语言,是一种标记语言。HTML包括一系列标签,通过这些标签可以将网络上的文档格式统一,使分散的网络资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。
CSS:全称为层叠样式表,是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。CSS能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。
JavaScript:简称JS,是一种具有函数优先的轻量级、解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是JavaScript也被用到了很对非浏览器环境中。JavaScript是基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。
Vue:是一款用于构建用户界面的JavaScript框架。Vue基于标准HTML、CSS和JavaScript构建,并提供了一套声明式的、组件化的编程模型,帮助高效地开发用户界面。
React:是一款Web开发框架,主要用于构建UI。可以在React里传递多种类型的参数,如声明代码,帮助开发者渲染出UI、也可以是静态的HTML DOM元素、也可以传递动态变量、甚至是可交互的应用组件。
KeepAlive:vue的一个内置组件,在多个组件间动态切换时可缓存被移除的组件实例。
路由:指利用诸如History API或者hashchange事件等浏览器的API通过管理单页面应用当前应该渲染的UI视图。
钩子函数:特指Vue或者React框架中的页面组件从创建到销毁经历的一些列生命周期。在这一些列过程中,会运行特定的生命周期钩子函数,在特定时机运行开发者的程序代码。
本申请实施例提供的一种页面缓存方法、装置、设备及存储介质,下面先对适用于本申请实施例的应用场景进行描述。
图1示出了本申请实施例提供的三级页面跳转的示意图,该场景可应用在后台管理系统,如,考勤管理系统、任务调度系统等。该三级页面包括:父级搜索列表页、子级搜索列表页、搜索结果详情页。图1中以父级搜索列表页为项目列表页,子级搜索列表页为项目具体版本列表页,搜索结果详情页为具体的版本详情页为例来说明,假定后台管理系统为人工智能管理系统,人工智能管理系统的功能模块包括模型管理,其中项目列表页为针对人工智能管理系统中所有的模型进行列表分页展示如模型1、模型2等,并提供条件搜索查询。项目具体版本列表页为针对上述某一个具体的模型,该模型训练会分很多个不同的版本(v1、v2、v3…),针对该模型的所有版本进行列表分页展示的页面,并提供条件搜索查询。具体的版本详情页为针对上述具体模型的具体某一个版本,进行详细内容展示的页面。比如展示该模型的该版本的具体基本信息、训练参数信息、相关语料信息等。图1中以用户选择模型1作为项目列表页,模型1的版本v1为项目具体版本列表页以及训练参数信息、语料信息为具体的版本详情页为例进行示意。
当然,在实际应用时用户可通过在后台管理系统的登录界面输入登录信息(姓名、工号、密码等,图1中以用户输入姓名**,密码######为例来说明)进入后台管理系统,后台管理系统可基于用户的页面选择操作(可通过点击选择,还可通过语音选择,在此不限定),确定页面选择信息,之后可采用本申请提供的页面缓存方法执行页面缓存策略。后台管理系统的登录设备可以为手机、平板、台式电脑、笔记本电脑等设备。
相关技术提出,Vue的组件<KeepAlive>默认会缓存内部的所有组件实例,有个版本中,Vue为组件<KeepAlive>提供了include和exclude属性来定制被缓存组件,这两个属性的值都可以是一个以英文逗号分隔的字符串、一个正则表达式,或是包含这两种类型的一个数组。include标识哪些组件实例被缓存。exclude标识哪些组件实例不应被缓存,当两者同时存在时,exclude的优先级更高。因为设置include的值会让KeepAlive组件缓存指定的页面组件实例,但是页面组件实例被缓存后,无论什么情况下再次进入这些指定的页面,页面都停留在离开时的状态,数据都不会更新。然而并不是所有切回原页面都希望保留离开时的状态,为了实现上述效果,相关方案提出在全局设置一份具体组件实例缓存清单,这个缓存清单会配置给KeepAlive的indclude属性。根据不同的业务场景,需要在不同的业务功能代码中,动态更改这份全局组件实例缓存清单的值:需要缓存时,将要缓存的组件实例名设置在缓存清单中,不需要缓存时,动态将这份全局组件清单中指定的组件实例名清除掉。该方案需要在不同业务代码中根据业务具体情况去动态维护全局组件的缓存清单,多级嵌套路由情况下,管理页面组件实例缓存是非常复杂的,而且一旦业务跳转关系变动,则需要仔细修改上述维护逻辑,一旦涉及业务多,关系跳转关系复杂,则很难维护。
还有方案提出,不动态更改include的值,而是固定缓存清单(include的值),然后在被缓存的页面组件中,通过vue的生命周期钩子函数activated(激活:切回被缓存组件实例时会调用)和deactivated(失活:从被缓存组件实例切走时会调用)和来控制更新数据或初始化数据来实现页面状态的保留与否。
需要说明的是,不同业务场景下,对缓存的页面保留离开状态还是初始化没有统一处理逻辑,上述两种现有技术方案都需要在各个业务代码中写入被缓存组件实例的数据,但是,业务代码侵入性太强,很难维护。考虑到上述情况,本申请提出一种页面缓存方法,该方法可将业务缓存策略与业务代码解耦,且逻辑简单。可参照图2来执行,该方法可应用于后台管理系统中,可通过电子设备来执行,该电子设备可以为手机、笔记本电脑等,具体应用时,可通过电子设备的中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)等来执行,在此不具体限定。执行如下:
步骤201,电子设备获取路由实例中第一页面的路由跳转信息,并根据路由跳转信息确定第一页面跳转到的第二页面,路由跳转信息用于指示当前页面待跳转的下一页面。
示例性地,路由实例可以为某个后台管理系统的路由实例,该路由实例中存储有后台管理系统所需的所有页面的路由配置信息,本申请中,电子设备可通过路由实例的根组件获取页面的路由配置信息。
示例性地,路由跳转信息为电子设备实时监听路由实例确定的,如,实时监听用于渲染根组件的路由实例,获取当前页面的路由跳转信息,或者当前页面跳转时主动上报至电子设备的,如,从A页面跳转至A的子级页面中,上报跳转信息,本申请在此不具体限定。
其中,路由跳转信息指示当前页面(也即第一页面)待跳转的下一页面(也即第二页面),以项目列表页——>项目的具体版本列表页——>具体的版本详情页为例来说明,当前页面为项目列表页,若用户滑动项目列表页点击项目列表页中第一版本列表页,那么项目列表页待跳转的下一页面则为第一版本列表页;若当前页面为第一版本列表页,用户滑动具体的版本列表页,滑动到第五十版本列表页,那么第一版本列表页待跳转的下一页面则为第五十版本列表页;若当前页面为版本列表页,用户点击新增版本列表页,那么版本列表页待跳转的下一页面则为新增版本列表页。在此仅示例性说明,并不对当前页面待跳转情况进行具体限定。
步骤202,电子设备基于路由跳转信息,获取第一页面的路由配置信息以及第二页面的路由配置信息,第一页面的路由配置信息包括用于指示是否缓存第一页面的缓存指示信息、第一页面的页面路径信息;第二页面的路由配置信息包括:第二页面的页面路径信息。
其中,用于指示是否缓存第一页面的缓存指示信息是根据业务需求设置的,例如,业务1中第一页面需要被缓存,那么该指示信息则指示第一页面需要缓存,业务2中第一页面不需要被缓存,那么该指示信息则指示第一页面不需要被缓存。此外,该指示信息可以理解为用于指示是否可以采用缓存组件来渲染第一页面的视图的指示信息,可选的,缓存组件可为以下中的一种:vue框架下的Keep Alive、react框架下的缓存组件。通过采用上述框架中的缓存组件可以提高页面缓存的处理效率,避免重新构造缓存组件,增加研发成本的情况出现。
其中,页面的路径信息可以理解为页面的路由地址信息,可通过字符串指示,如,页面的路径信息为"@/views/project/version/index.vue",在此仅示例性描述,并不具体限定。
步骤203,若缓存指示信息指示缓存第一页面,缓存第一页面。
在执行步骤203之前,电子设备根据用于指示是否缓存第一页面的缓存指示信息确定是否缓存第一页面。若否,则不缓存第一页面;若是,则执行步骤203。
另外,还要说明的是,本申请所述的缓存页面,可以通过缓存页面相关的信息实现,如,缓存页面组件实例、缓存页面组件等,本申请在此不具体缓存页面的具体缓存信息。此外,还要说明的是,页面的路由配置信息预配置于路由配置文件中,基于页面的路由配置信息确定页面的缓存逻辑,而非根据业务代码确定页面的缓存逻辑,该方式中业务代码也业务缓存逻辑解耦。
具体地,在执行步骤203时,电子设备可先确定缓存池中的缓存页面的数目是否小于缓存阈值;若缓存池中的缓存页面的数目小于缓存阈值,则缓存第一页面;若缓存池中的缓存页面的数目等于缓存阈值,则删除缓存池中的第一缓存页面后,缓存第一页面;第一缓存页面为当前缓存池中最先缓存的页面。需要说明的是,在执行本申请的方案时,电子设备可通过new Set()创建一个全局变量cacheset,可将cacheset作为缓存池,存储页面。此外,缓存阈值通常设置为10,当然在实际应用中,也可根据技术人员的配置灵活调整。通过该方式确定路由实例中的缓存页面,逻辑判断简单,可以避免缓存池中存入大量的页面。
步骤204,电子设备根据第一页面的页面路径信息以及第二页面的页面路径信息确定第一页面与第二页面的关联关系,并根据关联关系确定是否保留第一页面的缓存。
可选的,电子设备可根据第一页面的页面路径信息以及第二页面的路径信息,确定第一页面与第二页面的关联关系,其中,关联关系指示第一页面与第二页面的层级关系以及页面的缓存逻辑,例如以项目列表页——>项目的具体版本列表页——>具体的版本详情页来说明,第一页面为第二页面的上一层级页面,第一页面为项目列表页,第二页面为项目的具体版本列表页,那么第一页面需要保留缓存;第一页面为第二页面的下一层级页面,第一页面为具体的版本详情页,第二页面为项目的具体版本列表页,那么第一页面不需要保留缓存等,也即第一页面为第二页面的前置页面时,需要保留第一页面的缓存,第一页面为第二页面的后置页面,则不需要保留第一页面的缓存。此外,若第一页面为项目列表页,第二页面为新增项目列表页,也即第一页面既不是第二页面的上一层级页面也不是第二页面的下一层级页面,则不需要保留第一页面的缓存。在此仅示例性说明,并不具体限定第一页面与第二页面的层级关系,第一页面与第二页面可以为同一层级的页面,也可以为不同层级的页面。
本申请根据第一页面路由配置信息中的缓存指示信息,确实执行具体业务时,第一页面是否需要缓存,若确定第一页面需要缓存,可将第一页面缓存,之后根据第一页面与第二页面的关联关系进一步确定是否保留第一页面的缓存,本申请中,第一页面的缓存逻辑是基于当前页面与待跳转页面的关联关系确定,且该关联关系是基于页面路由配置信息中的页面路径信息确定,并未与业务代码绑定,减少了代码侵入风险,且基于当前页面以及待跳转页面的关联关系维护页面的缓存逻辑,无需在业务代码中动态维护页面的缓存逻辑,降低了逻辑复杂度。
在一种可选的实施例中,上述步骤202中,第一页面的路径信息包括:第一页面的路由地址信息、第一页面的前置页面的路由地址信息以及第一页面的后置页面的路由地址信息;第一页面的前置页面为跳转至第一页面的第一页面的上一层级页面;第一页面的后置页面为从第一页面跳转的第一页面的下一层级的页面;第二页面的路径信息包括:第二页面的路由地址信息、第二页面的前置页面的路由地址信息以及第二页面的后置页面的路由地址信息;第二页面的前置页面为跳转至第二页面的第二页面的上一层级页面;第二页面的后置页面为从第二页面跳转的第二页面的下一层级的页面。可参照上述步骤204中的示例来理解页面间的层级关系,在此不赘述。
另外,页面的前置页面为跳转至页面需要被缓存页面组件实例的页面,例如,在项目列表页——>具体项目的版本列表页——>具体版本详情页的三级页面关系中,项目列表页跳往到具体项目的版本列表页(也即当前页面),需要保留项目列表的状态(缓存项目列表页的页面组件实例),针对于项目版本列表页而言,项目列表页面就是具体项目的版本列表页的前置页面;具体项目的版本列表页跳往具体版本详情页(也即当前页面)时,需要保留项目版本状态(缓存具体项目的版本列表页的页面组件实例),针对于项目版本详情页,具体项目的版本列表页就是版本详情页的前置页面。
页面的后置页面为从页面跳转时需要缓存页面的页面,例如,在项目列表页——>具体项目的版本列表页——>具体版本详情页的三级页面关系中,若项目列表页为当前页面时,跳往到具体项目的版本列表页,需要保留项目列表的查询条件及分页状态,这个具体项目的版本列表页就是项目列表页面的后置页面;项目列表中也有新增项目按钮,跳转到新增项目页面时,此时是不需要保留项目的查询条件及分页状态,这个新增项目页面则不是项目列表的后置页面,从新增页面返回时,不希望未增加新项目的项目列表页的页面组件实例被缓存,而是希望数据初始化到最新(也即增加新项目的项目列表页的页面组件实例被缓存)。
此外,在实际应用时,在执行步骤204时,电子设备还可参考第一页面的页面路径信息以及第二页面的页面路径信息确定是否保留第一页面的缓存,本申请在此不具体限定。接下来分2种不同的情况来说明。
情况1、电子设备根据第一页面的后置页面的路由地址信息以及第二页面的路由地址信息,确定第一页面与第二页面的关联关系,并根据关联关系确定是否保留第一页面的缓存
电子设备根据第一页面的后置页面的路由地址信息以及第二页面的路由地址信息,确定第一页面与第二页面的关联关系,关联关系指示第一页面的后置页面的路由地址信息中是否包括第二页面的路由地址信息;若根据关联关系确定第一页面的后置页面的路由地址信息中包括第二页面的路由地址信息,则保留第一页面的缓存;若根据关联关系确定第一页面的后置页面的路由地址信息中不包括第二页面的路由地址信息,则不保留第一页面的缓存。
例如,第一页面的路由地址为1,第一页面的前置页面的路由地址为2、3、4,第一页面的后置页面的路由地址为5、6、7,若第二页面的路由地址为6,也即第二页面为第一页面的后置页面,那么则保留第一页面的缓存;若第二页面的路由地址为10,也即第二页面并非第一页面的后置页面,那么则不保留第一页面的缓存。也就是说,当前页面如果即将要跳转的待跳转页面,不是当前页面的后置页面则不需要保留当前页面的页面组件实例,则删除当前页面的组件实例,通过该方式可以避免缓存池中存入大量的页面组件实例。
情况2、电子设备根据第一页面的后置页面的路由地址信息、第一页面的前置页面的路由地址信息以及第二页面的路由地址信息,确定第一页面与第二页面的关联关系,并根据关联关系确定是否保留第一页面的缓存
电子设备根据第一页面的前置页面的路由地址信息、第一页面的后置页面的路由地址信息以及第二页面的路由地址信息,确定第一页面与第二页面的关联关系,关联关系指示第一页面的前置页面的路由地址信息中是否包括第二页面的路由地址信息,以及第一页面的后置页面的路由地址信息中是否包括第二页面的路由地址信息;若根据关联关系确定第一页面的前置页面的路由地址信息中不包括第二页面的路由地址信息,且第一页面的后置页面的路由地址信息中不包括第二页面的路由地址信息,则不保留第一页面的缓存。
接续上述情况1中的示例,第一页面的路由地址为1,第一页面的前置页面的路由地址为2、3、4,第一页面的后置页面的路由地址为5、6、7,若第二页面的路由地址为10,也即第二页面为既不是第一页面的前置页面也不是第一页面的后置页面,那么则不保留第一页面的缓存。也就是说,当前页面如果即将要跳转的待跳转页面,既不是当前页面的前置页面也不是当前页面的后置页面,则不需要保留当前页面的页面组件实例,则删除当前页面的组件实例,通过该方式可以避免缓存池中存入大量的页面组件实例。
当然在实际应用时,电子设备还可获取第二页面的前置页面的路由地址信息,并根据第二页面的前置页面的路由地址信息确定第二页面是否存在前置页面;若第二页面的前置页面的路由地址信息不为空,则确定第二页面存在前置页面,则保留第二页面的前置页面的缓存,删除除第二页面的前置页面以外的页面的缓存;若第二页面的前置页面的路由地址信息为空,则确定第二页面不存在前置页面,则删除缓存池中的页面的缓存。
具体地,电子设备可确定待跳转页面是否存在前置页面;若待跳转页面存在前置页面,则在缓存池中保留待跳转页面的前置页面,删除非待跳转页面的前置页面。
例如,在项目列表页——>具体项目的版本列表页——>具体版本详情页的三级页面关系中,项目列表页经过条件刷选和分页,点击某个具体项目进入到具体项目的版本列表页,根据业务规则,项目列表页的页面组件实例会被缓存。此时,不进入具体的某个版本详情页,而是进入创建新版本页面,即新增版本页,从新增版本页后再返回版本列表页面时是不希望版本列表保留原状态的(也即未创建新版本列表页的页面),而是希望初始化最新数据(也即创建新版本列表页的页面)。所以,新增版本页针对版本列表页而言,既不是版本列表的前置页面,也不是版本列表的后置页面,此时,需要将cacheset中所有缓存的组件实例销毁并清空这个缓存cacheset。但有的业务上希望从新增版本页直接跳回项目版本列表时(通过面包屑导航跨级返回),希望项目版本列表保留原状态,此时,只需要将项目列表页作为新增版本的前置页面配置到目标页面的路由配置信息中。
也就是说,待跳转页面既不是当前页面的前置页面也不是当前页面的后置页面,只需要保留待跳转页面的前置页面即可,不需要保留非待跳转页面的前置页面,通过该方式可以避免缓存池中存入大量的页面。
示例性地,页面是否需要缓存的指示信息、页面的前置页面的路径信息以及页面的后置页面的路径信息均可通过参数KeepAliveInfo指示,在此以当前页面为例来说明,其中,KeepAliveInfo中包括needCache、prevPage以及nextPage。needCache的值为布尔类型(true、false),指示页面组件否需要用vue的内置组件<KeepAlive>包裹路由组件来渲染视图。true则表示该组件需要用内置组件<KeepAlive>包裹,false或不配置时,则表示该组件不需要被内置组件<KeepAlive>包裹,直接渲染。prevPage的值为数组,由于当前页面的前置页面可能存在多个,通过数组可以指示多个当前页面的前置页面的路径信息。nextPage的值为数组,由于当前页面的后置页面可能存在多个,通过数组可以指示多个当前页面的后置页面的路径信息。假定当前页面为'@/views/project/version/index.vue',可在meta配置needCache、prevPage以及nextPage,可参照下述代码进行配置:
通过上述参数可以直接获取当前页面是否需要采用vue的内置组件<KeepAlive>包裹路由组件来渲染视图、当前页面的后置页面的路径信息、当前页面的前置页面的路径信息,可以提高数据处理效率。
接来通过在meta中配置上述的KeepAliveInfo中的needCache、prevPage以及nextPage,缓存池为cacheset来具体说明如何应用本申请的方案来缓存页面,在此以缓存的页面为页面组件实例为例来说明。一方面电子设备要确定页面是否需要采用<KeepAlive>包裹路由组件来渲染视图,另一方面,电子设备要确定页面组件实例的缓存逻辑。电子设备在开始执行时,可参照附图3来确定页面是否需要采用<KeepAlive>包裹路由组件来渲染视图,电子设备通过计算属性(computed)实时监听用于渲染根组件的路由实例,获取meta中配置的KeepAliveInfo,并根据KeepAliveInfo中的needCache确定是否需要用vue的内置组件<KeepAlive>包裹路由组件来渲染视图,若不需要,则不通过<KeepAlive>包裹路由组件来渲染视图,直接渲染视图,且不缓存,若需要,通过<KeepAlive>包裹路由组件来渲染视图得到的页面组件实例并缓存到cacheset中。
参照图4确定页面组件实例的缓存逻辑,电子设备在开始执行时,电子设备通过计算属性(computed)实时监听用于渲染根组件的路由实例,若确定存在路由跳转信息,获取当前页面的路由配置信息(form)、目标页面的路由配置信息(to),其中,form包括当前页面的needCache1、prevPage1、nextPage1参数以及当前页面的路径信息path1,to包括目标页面的needCache2、prevPage2(可能存在也可能为空值)、nextPage2参数以及目标页面的路径信息path2。电子设备从form1中获取needCache1,判断当前页面的组件实例是否需要缓存,若是,则确定当前cacheset中的页面组件实例是否小于缓存阈值,若是,则将当前页面的组件实例存入cacheset中,若否,从cacheset删除最先存入的页面组件实例后,将当前页面组件实例存入cacheset中,若当前页面的组件实例预先已经存储在cacheset中,当前页面组件实例可不继续存储,确定cacheset中存储有当前页面的组件实例即可。
电子设备从form中获取needCache1,判断当前页面的页面组件实例需要缓存,也即当前页面的页面组件实例存储于上述图3的cacheset中,当然在具体执行时,需要判断当前cacheset中页面组件实例是否小于缓存阈值,若是则将当前页面组件实例存入cacheset中,若否,则从cacheset删除最先存入的页面组件实例后,将当前页面组件实例存入cacheset中。
之后,在确定当前页面已经缓存的情况下,确定path2是否在nextPage1中,若是,则在cacheset保留当前页面的页面组件实例,若否,则删除cacheset中当前页面的页面组件实例(也即上述的情况1)。电子设备从form中获取prevPage1以及nextPage1,则确定path2是否在nextPage1和prevPage1中,若否,则确定目标页面是否存在前置页面,若存在,则在cacheset中保留目标页面的前置页面prevPage2的页面组件实例,删除非目标页面的当前页面的页面组件实例,若不存在,则在cacheset中删除所有的页面组件实例(也即上述的情况2)。
上述示例中,通过在获取当前页面的路由配置信息、目标页面的路由配置信息,其中,当前页面的路由配置信息包括当前页面的needCache1、prevPage1、nextPage1参数以及当前页面的路径信息path1,目标页面的路由配置信息包括目标页面的needCache2、prevPage2(可能存在也可能为空值)、nextPage2参数以及目标页面的路径信息path2,根据当前页面的路由配置信息、目标页面的路由配置信确定当前页面的缓存逻辑,而非通过配置业务代码与页面缓存信息的逻辑关系,确定页面的缓存逻辑,通过该方式可解耦页面缓存信息与业务代码的关系,减少了代码侵入风险,且降低了处理逻辑的复杂度,在逻辑复杂度降低的情况下,进一步降低了开发成本。
在采用本申请的方案后,以项目列表页——>具体项目的版本列表页——>具体版本详情页的三级页面关系为例来说明,可实现如下效果:
1、项目列表页经过条件筛选和翻页进入到具体项目的版本列表页,再直接返回项目列表页时,项目列表页保留离开时的状态(保留翻页和筛选条件)。
2、版本列表页进入具体的版本详情页时,再直接返回版本列表页时,版本列表页保留离开时的状态。
3、项目列表页筛选和翻页后进入具体项目的版本列表页,再经过筛选和翻页进入具体的版本详情页,从版本详情页直接返回到项目列表页,项目列表页保留原状态,但版本列表页缓存被清除,组件被卸载。即再由项目列表进入版本列表页时,版本列表页处于初始化状态。
4、项目列表页筛选和翻页后进入具体项目的版本列表页,版本列表页经过筛选和翻页,此时进入的是一个新增版本页,再返回版本列表页时版本列表页为初始状态(也即新增版本页后状态,而不会跳转到未新增版本页之前的状态);再返回项目列表页,项目列表保持离开时的状态(保留筛选条件和翻页),或者直接从新增版本页面返回到项目列表页面时,项目列表页仍然是离开时的状态。
例如,项目列表页经过筛选和翻页后,用户点击进入了项目id为345的一条具体项目版本页面,该项目存在很多版本,用户翻页和筛选,点击进入了版本号为56的一个具体版本了解详情。用户查看完成后点击返回到版本列表页,页面仍然停留在离开该页面时的状态,方便用户继续操作,同理对于项目列表页也是一样的。
基于同样的构思,本申请实施例提供一种页面缓存装置500,如图5所示,包括:路由跳转信息获取单元501、路由配置信息获取单元502、缓存单元503以及判断单元504。
其中,路由跳转信息获取单元501,用于获取路由实例中第一页面的路由跳转信息,并根据路由跳转信息确定第一页面跳转到的第二页面,路由跳转信息用于指示当前页面待跳转的下一页面;路由配置信息获取单元502,用于基于路由跳转信息,获取第一页面的路由配置信息以及第二页面的路由配置信息,第一页面的路由配置信息包括用于指示是否缓存第一页面的缓存指示信息、第一页面的页面路径信息;第二页面的路由配置信息包括:第二页面的页面路径信息;缓存单元503,用于若缓存指示信息指示缓存第一页面,缓存第一页面;判断单元504,用于根据第一页面的页面路径信息以及第二页面的页面路径信息确定第一页面与第二页面的关联关系,并根据关联关系确定是否保留第一页面的缓存。
为了避免缓存池中存入大量的页面,缓存单元503确定缓存池中的缓存页面的数目是否小于缓存阈值;若缓存池中的缓存页面的数目小于缓存阈值,则缓存第一页面;若缓存池中的缓存页面的数目等于缓存阈值,则删除缓存池中的第一缓存页面后,缓存第一页面;第一缓存页面为当前缓存池中最先缓存的页面。
可选的,第一页面的路径信息包括:第一页面的路由地址信息、第一页面的前置页面的路由地址信息以及第一页面的后置页面的路由地址信息;第一页面的前置页面为跳转至第一页面的第一页面的上一层级页面;第一页面的后置页面为从第一页面跳转的第一页面的下一层级的页面;第二页面的路径信息包括:第二页面的路由地址信息、第二页面的前置页面的路由地址信息以及第二页面的后置页面的路由地址信息;第二页面的前置页面为跳转至第二页面的第二页面的上一层级页面;第二页面的后置页面为从第二页面跳转的第二页面的下一层级的页面。
为了避免缓存池中存入大量的页面,进一步地优化缓存池中的缓存页面,判断单元504,具体用于:根据第一页面的后置页面的路由地址信息以及第二页面的路由地址信息,确定第一页面与第二页面的关联关系,并根据关联关系确定是否保留第一页面的缓存;或,根据第一页面的后置页面的路由地址信息、第一页面的前置页面的路由地址信息以及第二页面的路由地址信息,确定第一页面与第二页面的关联关系,并根据关联关系确定是否保留第一页面的缓存。
可选的,判断单元504,具体用于:根据第一页面的后置页面的路由地址信息以及第二页面的路由地址信息,确定第一页面与第二页面的关联关系,关联关系指示第一页面的后置页面的路由地址信息中是否包括第二页面的路由地址信息;若根据关联关系确定第一页面的后置页面的路由地址信息中包括第二页面的路由地址信息,则保留第一页面的缓存;若根据关联关系确定第一页面的后置页面的路由地址信息中不包括第二页面的路由地址信息,则不保留第一页面的缓存。
可选的,判断单元504,具体用于:根据第一页面的前置页面的路由地址信息、第一页面的后置页面的路由地址信息以及第二页面的路由地址信息,确定第一页面与第二页面的关联关系,关联关系指示第一页面的前置页面的路由地址信息中是否包括第二页面的路由地址信息,以及第一页面的后置页面的路由地址信息中是否包括第二页面的路由地址信息;若根据关联关系确定第一页面的前置页面的路由地址信息中不包括第二页面的路由地址信息,且第一页面的后置页面的路由地址信息中不包括第二页面的路由地址信息,则不保留第一页面的缓存。
可选的,判断单元504,具体用于:获取第二页面的前置页面的路由地址信息,并根据第二页面的前置页面的路由地址信息确定第二页面是否存在前置页面;若第二页面的前置页面的路由地址信息不为空,则确定第二页面存在前置页面,则保留第二页面的前置页面的缓存,删除除第二页面的前置页面以外的页面的缓存;若第二页面的前置页面的路由地址信息为空,则确定第二页面不存在前置页面,则删除缓存池中的页面的缓存。
在介绍了本申请示例性实施方式中的页面缓存装置之后,接下来,介绍本申请的另一示例性实施方式的电子设备。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本申请的电子设备可以至少包括至少一个处理器、以及至少一个存储器。其中,存储器存储有计算机程序,当计算机程序被处理器执行时,使得处理器执行本说明书上述描述的根据本申请各种示例性实施方式的页面缓存方法中的步骤。例如,处理器可以执行如图2中所示的步骤201-步骤204。
下面参照图6来描述根据本申请的这种实施方式的电子设备130。图6显示的电子设备130仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。如图6所示,电子设备130以通用智能终端(或蓝牙耳机)的形式表现。电子设备130的组件可以包括但不限于:上述至少一个处理器131、上述至少一个存储器132、连接不同系统组件(包括存储器132和处理器131)的总线133。
总线133表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。存储器132可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1321和/或高速缓存存储器1322,还可以进一步包括只读存储器(ROM)1323。存储器132还可以包括具有一组(至少一个)程序模块1324的程序/实用工具1325,这样的程序模块1324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
电子设备130也可以与一个或多个外部设备134(例如键盘、指向设备等)通信,和/或与使得该电子设备130能与一个或多个其它智能终端进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口135进行。并且,电子设备130还可以通过网络适配器136与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器136通过总线133与用于电子设备130的其它模块通信。应当理解,尽管图中未示出,可以结合电子设备130使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
在一些可能的实施方式中,本申请提供的页面缓存方法的各个方面还可以实现为一种程序产品的形式,其包括计算机程序,当程序产品在计算机设备上运行时,计算机程序用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的页面缓存方法中的步骤。例如,处理器可以执行如图2中所示的步骤201-步骤204。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的用于时域噪声处理的程序产品可采用便携式紧凑盘只读存储器(CD-ROM)并包括计算机程序,并可在智能终端上运行。但本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读计算机程序。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程访问频次的预测设备的处理器以产生一个机器,使得通过计算机或其他可编程访问频次的预测设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程访问频次的预测设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程访问频次的预测设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种页面缓存方法,其特征在于,包括:
获取路由实例中第一页面的路由跳转信息,并根据所述路由跳转信息确定所述第一页面跳转到的第二页面,所述路由跳转信息用于指示当前页面待跳转的下一页面;
基于所述路由跳转信息,获取所述第一页面的路由配置信息以及所述第二页面的路由配置信息,所述第一页面的路由配置信息包括用于指示是否缓存所述第一页面的缓存指示信息、所述第一页面的页面路径信息,所述第二页面的路由配置信息包括所述第二页面的页面路径信息;
若所述缓存指示信息指示缓存所述第一页面,缓存所述第一页面;
根据所述第一页面的页面路径信息以及所述第二页面的页面路径信息确定所述第一页面与所述第二页面的关联关系,并根据所述关联关系确定是否保留所述第一页面的缓存。
2.根据权利要求1所述的方法,其特征在于,所述若所述缓存指示信息指示缓存所述第一页面,缓存所述第一页面,包括:
确定缓存池中的缓存页面的数目是否小于缓存阈值;
若所述缓存池中的缓存页面的数目小于所述缓存阈值,则缓存所述第一页面;
若所述缓存池中的缓存页面的数目等于所述缓存阈值,则删除所述缓存池中的第一缓存页面后,缓存所述第一页面,所述第一缓存页面为当前所述缓存池中最先缓存的页面。
3.根据权利要求1所述的方法,其特征在于,所述第一页面的路径信息包括:所述第一页面的路由地址信息、所述第一页面的前置页面的路由地址信息以及所述第一页面的后置页面的路由地址信息;所述第一页面的前置页面为跳转至所述第一页面的所述第一页面的上一层级页面;所述第一页面的后置页面为从所述第一页面跳转的所述第一页面的下一层级的页面;
所述第二页面的路径信息包括:所述第二页面的路由地址信息、所述第二页面的前置页面的路由地址信息以及所述第二页面的后置页面的路由地址信息;所述第二页面的前置页面为跳转至所述第二页面的所述第二页面的上一层级页面;所述第二页面的后置页面为从所述第二页面跳转的所述第二页面的下一层级的页面。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一页面的页面路径信息以及所述第二页面的页面路径信息确定所述第一页面与所述第二页面的关联关系,并根据所述关联关系确定是否保留所述第一页面的缓存,包括:
根据所述第一页面的后置页面的路由地址信息以及所述第二页面的路由地址信息,确定所述第一页面与所述第二页面的关联关系,并根据所述关联关系确定是否保留所述第一页面的缓存;或,
根据所述第一页面的后置页面的路由地址信息、所述第一页面的前置页面的路由地址信息以及所述第二页面的路由地址信息,确定所述第一页面与所述第二页面的关联关系,并根据所述关联关系确定是否保留所述第一页面的缓存。
5.根据权利要求4所述的方法,其特征在于,所述关联关系用于指示所述第一页面的后置页面的路由地址信息中是否包括所述第二页面的路由地址信息;所述根据所述第一页面的后置页面的路由地址信息以及所述第二页面的路由地址信息,确定所述第一页面与所述第二页面的关联关系,并根据所述关联关系确定是否保留所述第一页面的缓存,包括:
根据所述第一页面的后置页面的路由地址信息以及所述第二页面的路由地址信息,确定所述第一页面的后置页面的路由地址信息中是否包括所述第二页面的路由地址信息;
若所述第一页面的后置页面的路由地址信息中包括所述第二页面的路由地址信息,则保留所述第一页面的缓存;
若所述第一页面的后置页面的路由地址信息中不包括所述第二页面的路由地址信息,则不保留所述第一页面的缓存。
6.根据权利要求4所述的方法,其特征在于,所述关联关系用于指示所述第一页面的前置页面的路由地址信息中是否包括所述第二页面的路由地址信息,以及所述第一页面的后置页面的路由地址信息中是否包括所述第二页面的路由地址信息;所述根据所述第一页面的后置页面的路由地址信息、所述第一页面的前置页面的路由地址信息以及所述第二页面的路由地址信息,确定所述第一页面与所述第二页面的关联关系,并根据所述关联关系确定是否保留所述第一页面的缓存,包括:
若根据所述第一页面的前置页面的路由地址信息、所述第一页面的后置页面的路由地址信息以及所述第二页面的路由地址信息,确定所述第一页面的前置页面的路由地址信息中不包括所述第二页面的路由地址信息,且所述第一页面的后置页面的路由地址信息中不包括所述第二页面的路由地址信息,则不保留所述第一页面的缓存。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
获取所述第二页面的前置页面的路由地址信息,并根据所述第二页面的前置页面的路由地址信息确定所述第二页面是否存在前置页面;
若所述第二页面的前置页面的路由地址信息不为空,则确定所述第二页面存在前置页面,保留缓存池中所述第二页面的前置页面的缓存,删除所述缓存池中除所述第二页面的前置页面以外的页面的缓存;
若所述第二页面的前置页面的路由地址信息为空,则确定所述第二页面不存在前置页面,删除所述缓存池中的页面的缓存。
8.一种页面缓存装置,其特征在于,包括:
路由跳转信息获取单元,用于获取路由实例中第一页面的路由跳转信息,并根据所述路由跳转信息确定所述第一页面跳转到的第二页面,所述路由跳转信息用于指示当前页面待跳转的下一页面;
路由配置信息获取单元,用于基于所述路由跳转信息,获取所述第一页面的路由配置信息以及所述第二页面的路由配置信息,所述第一页面的路由配置信息包括用于指示是否缓存所述第一页面的缓存指示信息、所述第一页面的页面路径信息,所述第二页面的路由配置信息包括所述第二页面的页面路径信息;
缓存单元,用于若所述缓存指示信息指示缓存所述第一页面,缓存所述第一页面;
判断单元,用于根据所述第一页面的页面路径信息以及所述第二页面的页面路径信息确定所述第一页面与所述第二页面的关联关系,并根据所述关联关系确定是否保留所述第一页面的缓存。
9.一种电子设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如权利要求1至7中任一项所述的页面缓存方法。
10.一种计算机可读存储介质,其特征在于,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得如权利要求1至7中任一项所述的页面缓存方法实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310889340.3A CN117492855A (zh) | 2023-07-19 | 2023-07-19 | 页面缓存方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310889340.3A CN117492855A (zh) | 2023-07-19 | 2023-07-19 | 页面缓存方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117492855A true CN117492855A (zh) | 2024-02-02 |
Family
ID=89675116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310889340.3A Pending CN117492855A (zh) | 2023-07-19 | 2023-07-19 | 页面缓存方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117492855A (zh) |
-
2023
- 2023-07-19 CN CN202310889340.3A patent/CN117492855A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10726195B2 (en) | Filtered stylesheets | |
US20230259691A9 (en) | Method, apparatus, device and storage medium for determining page theme | |
US20120110437A1 (en) | Style and layout caching of web content | |
US11126648B2 (en) | Automatically launched software add-ins for proactively analyzing content of documents and soliciting user input | |
US10084878B2 (en) | Systems and methods for hosted application marketplaces | |
KR101941641B1 (ko) | 동일한 타입의 다수의 메타데이터 표현을 효율적으로 제공하는 기법 | |
JP2011159284A (ja) | ウェブサイトフォントのプレビュー | |
US9703460B2 (en) | Intelligent rendering of webpages | |
CN113010170A (zh) | 一种基于Vue3组件的页面渲染方法、装置、介质及电子设备 | |
CN105683957A (zh) | 样式表推测性预加载 | |
US11930096B2 (en) | Systems and methods for rendering interactive web pages | |
US8666997B2 (en) | Placeholders returned for data representation items | |
CN111857898A (zh) | 网页地址选择组件的显示方法、装置、存储介质及终端 | |
CN115809056A (zh) | 组件复用实现方法、装置和终端设备、可读存储介质 | |
CN117492855A (zh) | 页面缓存方法、装置、设备及存储介质 | |
CN113961298A (zh) | 一种页面切换方法、装置、设备及介质 | |
CN114329152A (zh) | 基于浏览器引擎的应用程序生成方法、装置、设备和介质 | |
US20130179896A1 (en) | Multi-thread processing of an XML document | |
CN117251653A (zh) | 一种页面渲染方法、装置、电子设备和存储介质 | |
CN113986322A (zh) | 一种动态修改页面代码的方法、装置及存储介质 | |
CN116302026A (zh) | 应用程序智能刷新方法、装置、计算机设备和存储介质 | |
CN117435841A (zh) | 网页组件的状态管理方法和装置、电子设备和存储介质 | |
CN114840269A (zh) | 一种对话框显示方法、装置、电子设备和存储介质 | |
CN116204226A (zh) | 应用开发系统、方法、设备及存储介质 | |
CN115586897A (zh) | 一种界面编程方法、装置以及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |