node-universe
Version:
基于 Nodejs 环境的一款微服务框架,原理来自于宇宙中的恒星,行星,卫星等系统。
35 lines (34 loc) • 1.49 kB
TypeScript
import { GenericObject } from '../../typings';
import { CacherOptions } from '../../typings/cachers';
import Star from '../star';
import { LoggerInstance } from '../../typings/logger';
import { MetricRegistry } from '../metrics/index';
export default class BaseCacher {
options: CacherOptions;
connected: any;
star: Star | null;
logger: LoggerInstance | null;
prefix: string;
metrics: MetricRegistry | null;
constructor(options: CacherOptions);
init(star: Star): void;
private registerStarCacherMetrics;
close(): Promise<any>;
get(key: string): Promise<any>;
getWithTTL(key: string): Promise<any>;
set(key: string, data: any, ttl?: number): Promise<any>;
delete(key: string | string[]): Promise<any>;
clean(match?: string | string[]): Promise<any>;
tryLock(key: string | string[], ttl?: number): Promise<any>;
lock(key: string | string[], ttl?: number): Promise<any>;
getParamMetaValue(key: string, params: GenericObject, meta: GenericObject): any;
defaultKeygen(actionName: string, params: GenericObject, meta: GenericObject, keys: Array<any> | null): string;
_hashedKey(key: string): string;
_generateKeyFromObject(obj: any): any;
getCacheKey(actionName: string, params: GenericObject, meta: GenericObject, keys: string[], actionKeygen?: Function): any;
getCacheKeys(): Promise<any>;
middleware(): {
name: string;
localAction: (handler: any, action: any) => any;
};
}