keep-alive源码解读

120 阅读1分钟

1.什么是keep-alive

keep-alive是一个节点模块,用于定义和执行简单的保持活动策略,只需指定您的 url 和可选频率。 在性能优化上,最常见的手段就是缓存。对需要经常访问的资源进行缓存,减少请求或者是初始化的过程,从而降低时间或内存的消耗。

2.安装

 npm install keep-alive

3.keep-alive源码分析

keep-alive允许传入三个参数:include,exclude,max. 允许组建由条件缓存,既有条件限制,就得组件需要删除缓存,新的组件就需要加入到新的缓存。

4.LUR(Least recently used)

LUR策略根据数据的历史访问记录来进行淘汰来进行淘汰数据。LUR策略的设计原理,如果一个数据在最近一段时间没有被访问到。那么在将来他被访问的可能性也很小。也就是说,当限定的空间已存存满数据时,应当把最久没有被访问到的数据淘汰。

----keep-alive总结

1.keep-alive实际是一个抽象组件,只对包裹的子组件做处理,并不会和子组件建立父子关系,也不会座位节点渲染到页面上。在组建开头就设置abstract为true,代表该组件是一个抽象的组件。 2.在初始化阶段会掉用initLifecycle,里面判断父级是否为抽象组件,如果是抽象组件,就选取抽象组件的上一级作为父级,忽略预抽象组件和子组件之间的层级关系 3.回到keep-alive组件,组件是没有编写template,模板,而是由render函数决定渲染结果。