@xmobitea/gn-server
Version:
GearN Server by XmobiTea (Pro)
37 lines (36 loc) • 1.62 kB
TypeScript
import { ICacheService } from "./ICacheService";
import * as mongoDB from "mongodb";
export interface ICacheServiceController {
getData<T>(key: string): Promise<T>;
setData<T>(key: string, tData: T, expireAfterMs: number): Promise<void>;
removeData(key: string): Promise<boolean>;
isValid(key: string): Promise<boolean>;
removeInvalidData(): Promise<number>;
}
export declare class MemoryCacheServiceController implements ICacheServiceController {
private dataDic;
getData<T>(key: string): Promise<T>;
setData<T>(key: string, tData: T, expireAfterMs: number): Promise<void>;
removeData(key: string): Promise<boolean>;
isValid(key: string): Promise<boolean>;
removeInvalidData(): Promise<number>;
constructor();
}
export declare class MongoDbCacheServiceController implements ICacheServiceController {
private cacheCollection;
getData<T>(key: string): Promise<T>;
setData<T>(key: string, tData: T, expireAfterMs: number): Promise<void>;
removeData(key: string): Promise<boolean>;
isValid(key: string): Promise<boolean>;
removeInvalidData(): Promise<number>;
constructor(cacheCollection: mongoDB.Collection<mongoDB.Document>);
}
export declare class CacheService implements ICacheService {
private cacheServiceController;
getData<T>(key: string): Promise<T>;
setData<T>(key: string, tData: T, expireAfterMs: number): Promise<void>;
removeData(key: string): Promise<boolean>;
isValid(key: string): Promise<boolean>;
removeInvalidData(): Promise<number>;
constructor(cacheServiceController: ICacheServiceController);
}