第十一章: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)
  }
 
}
posted @ 2022-03-15 23:08  快乐的时光机  阅读(145)  评论(0编辑  收藏  举报