UNPKG

@63pokupki/nodejs-common

Version:
101 lines (100 loc) 3.03 kB
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<string, OneConnectI[]>; sphinxDb?: Knex.Config; sphinxIndex?: string; } /** Обертка над редисом которая понимает async/await */ export declare class RedisSys { env: string; ixRedisDb: Record<number, OneDbConnectI>; ixRedisDbError: Record<number, OneDbConnectI>; ixRedisDbCommon: Record<number, OneDbConnectI>; ixRedisDbCommonError: Record<number, OneDbConnectI>; 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<string>; /** * Получить ключи по шаблону - медленный способ * @param sKeyPattern */ keys(sKeyPattern: string): Promise<string[]>; /** * Получить ключи по шаблону сканированием * @param keys */ scan(sKeyPattern: string): Promise<string[]>; /** * Получить количество ключей базы данных * @param keys */ dbsize(): Promise<number>; /** * Поместить значение в редис * @param key * @param val * @param time */ set(key: string, val: string | number, time?: number): Promise<string>; /** * Найти и удалить ключи по шаблону * @param sMatch * @param iCount */ clear(sMatch: string): Promise<string[]>; /** * Удалить ключи по ID * @param keys */ del(keys: any[]): Promise<any>; /** * Получить значение из редиса * @param sKey */ private getFromSphinx; /** * Получить ключи по шаблону сканированием * @param keys */ scanFromSphinx(sKey: string): Promise<string[]>; /** * Поместить значение в редис * @param sKey * @param val * @param time */ setInSphinx(sKey: string): Promise<string>; clearKeyForMatch(sKey: string): string; /** Ждет выполнения запросов и закрывает соединение */ quit(): void; } export {};