@63pokupki/nodejs-common
Version:
Common nodejs functionality
48 lines (47 loc) • 2.1 kB
TypeScript
import { RedisSys } from './RedisSys';
import { UserSys } from './UserSys';
import { ErrorSys } from '@63pokupki/components/lib';
import { P63Context } from './P63Context';
/**
* Система кеширования
*/
export declare class CacheSys {
protected redisSys: RedisSys;
protected errorSys: ErrorSys;
protected userSys: UserSys;
protected ctx: P63Context;
constructor(ctx: P63Context);
/**
* Авто кеширование для встраивания в функцию
* @param sKey - Ключ кеша
* @param iTimeSec - Время кеширования
* @param callback - функция получающая данные из БД
*/
autoCache<RequestT>(sKey: string, iTimeSec: number, callback: () => Promise<RequestT>): Promise<RequestT>;
/**
* Авто кеширование строки для встраивания в функцию
* @param sKey - Ключ кеша
* @param iTimeSec - Время кеширования
* @param callback - функция получающая данные из БД
*/
autoCacheStr(sKey: string, iTimeSec: number, callback: any): Promise<string>;
/**
* Авто кеширование int переменной для встраивания в функцию
* @param sKey - Ключ кеша
* @param iTimeSec - Время кеширования
* @param callback - функция получающая данные из БД
*/
autoCacheInt(sKey: string, iTimeSec: number, callback: any): Promise<number>;
/**
* Авто кеширование ID переменной для встраивания в функцию
* @param sKey - Ключ кеша
* @param iTimeSec - Время кеширования
* @param callback - функция получающая данные из БД
*/
autoCacheID(sKey: string, iTimeSec: number, callback: any): Promise<number>;
/**
* Очистить кеш редиса
* @param sKey
*/
clearCache(sKey: string): Promise<void>;
}