flexmonster-mongo-connector
Version:
Custom data source API implementation for MongoDB
41 lines (40 loc) • 1.58 kB
TypeScript
import { IDataCache } from "../IDataCache";
import { ICacheStrategie } from "../cacheStrategies/ICacheStrategie";
import { ConfigInterface } from "../../config/ConfigInterface";
import { AbstractDataObject } from "../dataObject/impl/AbstractDataObject";
import { DataRetrievalInterface } from "../dataObject/DataRetrievalInterface";
import { CacheKeyInterface } from "../DataManager";
export declare class LocalDataCache implements IDataCache<CacheKeyInterface, any> {
private _cache;
private timeToLive;
private _cacheSizeLimit;
private _cacheStrategie;
private _currentCacheSize;
private readonly _garbageCollectingCoefficient;
constructor(cacheStrategie: ICacheStrategie, config: ConfigInterface);
setTimeToLive(minutes: number): void;
getCache(key: CacheKeyInterface): DataRetrievalInterface;
private removeFromCache;
private _removeFromCache;
setCache(key: CacheKeyInterface, data: AbstractDataObject): void;
private collectGabbage;
private garbageItemsComparator;
private getGarbageItemScore;
setCacheStrategie(cacheStrategie: ICacheStrategie): void;
clearCache(): void;
private getCacheKey;
getCacheMemoryStatus(): string;
}
export interface CachedDataObject {
data: DataRetrievalInterface;
timeStamp: number;
computationTime: number;
dataMemorySize: number;
}
export interface GarbageColletingItemsInterface {
key: string;
timeStamp: number;
computationTime: number;
dataMemorySize: number;
isCacheStaled: boolean;
}