import redis from 'ioredis'; import { Knex } from 'knex'; interface OneConnectI { urlDbMaster: string; urlDbScan: string; } interface OneDbConnectI { redisMaster: redis.Redis; redisScan: redis.Redis; } interface ConnectI { env?: string; urlDbMaster?: string; urlDbScan?: string; connect?: Record; sphinxDb?: Knex.Config; sphinxIndex?: string; } /** Обертка над редисом которая понимает async/await */ export declare class RedisSys { env: string; ixRedisDb: Record; ixRedisDbError: Record; ixRedisDbCommon: Record; ixRedisDbCommonError: Record; sphinxDb?: Knex; sphinxIndex?: string; ipSrv: string; ipConnectUse: string; asIpRedis: string[]; redisMaster: redis.Redis; redisScan: redis.Redis; /** Проверка БД редиса */ private checkRedisDb; /** Интервал проверки актуальности соединения REDIS */ private intervalRedis; /** Обработка БД с ошибками */ workErrorDb(dbRedis: redis.Redis): void; /** init */ constructor(param: ConnectI); /** * Получить значение из редиса * @param key */ get(key: string): Promise; /** * Получить ключи по шаблону - медленный способ * @param sKeyPattern */ keys(sKeyPattern: string): Promise; /** * Получить ключи по шаблону сканированием * @param keys */ scan(sKeyPattern: string): Promise; /** * Получить количество ключей базы данных * @param keys */ dbsize(): Promise; /** * Поместить значение в редис * @param key * @param val * @param time */ set(key: string, val: string | number, time?: number): Promise; /** * Найти и удалить ключи по шаблону * @param sMatch * @param iCount */ clear(sMatch: string): Promise; /** * Удалить ключи по ID * @param keys */ del(keys: any[]): Promise; /** * Получить значение из редиса * @param sKey */ private getFromSphinx; /** * Получить ключи по шаблону сканированием * @param keys */ scanFromSphinx(sKey: string): Promise; /** * Поместить значение в редис * @param sKey * @param val * @param time */ setInSphinx(sKey: string): Promise; clearKeyForMatch(sKey: string): string; /** Ждет выполнения запросов и закрывает соединение */ quit(): void; } export {};