node-universe
Version:
基于 Nodejs 环境的一款微服务框架,原理来自于宇宙中的恒星,行星,卫星等系统。
30 lines (29 loc) • 1.02 kB
TypeScript
import BaseCacher from '../../lib/cachers/base';
import Context from '../../lib/context';
import { GenericObject } from '..';
export type ActionCacheEnabledFuncType = (ctx: Context) => boolean;
export interface ActionCacheOptions<P = Record<string, unknown>, M = unknown> {
enabled?: boolean | ActionCacheEnabledFuncType;
ttl?: number;
keys?: string[];
keygen?: CacherKeygenFunc<P, M>;
lock?: {
enabled?: boolean;
staleTime?: number;
};
}
export type CacherKeygenFunc<P = Record<string, unknown>, M = unknown> = (actionName: string, params: P, meta: M, keys?: string[]) => string;
export interface CacherOptions {
ttl?: number;
keygen?: CacherKeygenFunc;
maxParamsLength?: number;
[key: string]: any;
}
export interface RedisCacherOptions extends CacherOptions {
prefix?: string;
redis?: GenericObject;
redlock?: boolean | GenericObject;
monitor?: boolean;
pingInterval?: number;
}
export type Cacher<T extends BaseCacher = BaseCacher> = T;