第十一章:keep-alive缓存算法LRU
keep-alive
1.是什么?vue自带的组件,功能:用来缓存组件的,提升性能
2.使用场景:首页进入到详情页,如果每次点击都是相同的,那么详情页就不用请求多次,直接缓存,如果点击的不是同一个,那么就直接请求。
3.如果假如keep-alive,第一次进入组件会执行哪些生命周期?beforeCreate,created,beforeMount,mounted,activated
4.如果假如keep-alive,第二次进入组件会执行哪些生命周期?activated
5.keep-aliveLRU缓存算法原理
多的不说,少的不唠,直接上代码
class LRUCashe{
map:Map<any,any> //内存存储
max:number //最大容量是整数
Constructor(capcity:number){
this.map=new Map()
this.max=capticy
}
get(key:number):number{
if(this.map.has(key)){
let tempValue=this.map.get(key)
this.map.delete(key)
this.map.set(key,tempValue)
return tempValue
}
return -1
}
put(key:number,value:number):void{
if(this.map.has(key)){
this.map.delete(key)
this.map.set(ket,value)
}else if(this.map.size>=this.size){
this.map.delete(this.map.key().next.value)
}
this.map.set(key,value)
}
}