2q-cache
Version:
Imlementation of 2Q Cache Algorithm
37 lines (32 loc) • 884 B
text/typescript
export class BucketsTransportObject {
public key : any;
public value : any;
public needMove : boolean;
public timeout : number;
}
export class CacheMapElem {
public timeout : number = undefined;
public linkToList : CacheQueueElem;
public bucket : number;
public data : any = null;
}
export class CacheQueueElem {
public key : any = null;
public next : CacheQueueElem = null;
public prev : CacheQueueElem = null;
}
export class CacheQueueHead {
public data : null;
public next : CacheQueueElem = null;
}
export class LfuMapElem {
public timeout : number = undefined;
public linkToHeap : CacheHeapElem;
public bucket : number;
public data : any = null;
}
export class CacheHeapElem {
public key : any = null;
public count : number = 0;
public index : number = -1;
}