import { OnApplicationBootstrap, OnModuleDestroy, OnModuleInit } from "@nestjs/common"; import { RedisOptions } from "./types/redis-options.type"; import { SetOptions } from "@redis/client/dist/lib/commands/SET"; import { RedisCommandArgument } from "@redis/client/dist/lib/commands"; import { RediskaClientType } from "./types/redis-client.type"; export declare class RedisService implements OnModuleInit, OnModuleDestroy, OnApplicationBootstrap { private readonly redisOptions; private readonly _prefix; private readonly _redis; private readonly _redisSubscriber; private readonly _expiredHandlers; constructor(redisOptions: RedisOptions); onModuleInit(): Promise; onModuleDestroy(): Promise; onApplicationBootstrap(): Promise; /** * Возвращает ключ с префиксом, если префикс задан. * @param {string} key - Исходный ключ. * @returns {string} - Ключ с префиксом (если префикс задан) или исходный ключ. */ private _key; /** * Геттер для получения текущего префикса. * @returns {string | undefined} - Префикс, используемый для ключей Redis. */ get prefix(): string; /** * Геттер для получения клиента Redis. * @returns {RediskaClientType} - Экземпляр клиента Redis. */ get client(): RediskaClientType; /** * Геттер для получения PUB/SUB клиента Redis. * @returns {RediskaClientType} - Экземпляр клиента Redis. */ get pubSubClient(): RediskaClientType; /** * Устанавливает обработчик событий истечения TTL для ключей с указанным префиксом. * @param {string} prefix - Префикс ключей, для которых будет зарегистрирован обработчик. * @param {(key: string) => Promise | void} handler - Функция-обработчик, вызываемая при истечении TTL. */ setExpiredHandler(prefix: string, handler: (key: string) => Promise | void): void; /** * Удаляет обработчик событий истечения TTL для ключей с указанным префиксом. * @param {string} prefix - Префикс ключей, для которых будет зарегистрирован обработчик. */ deleteExpiredHandler(prefix: string): void; /** * Проверяет существование ключа в Redis. * @param {string} key - Ключ для проверки. * @returns {Promise} - 1, если ключ существует; 0, если ключ отсутствует. */ exists(key: string): Promise; /** * Устанавливает время жизни (TTL) для ключа в Redis. * @param {string} key - Ключ, для которого устанавливается TTL. * @param {number} seconds - Время жизни в секундах. * @param {'NX' | 'XX' | 'GT' | 'LT'} [mode] - Опциональный режим установки TTL. * @returns {Promise} - true, если TTL успешно установлен; false в противном случае. */ expire(key: string, seconds: number, mode?: 'NX' | 'XX' | 'GT' | 'LT'): Promise; /** * Увеличивает числовое значение, хранящееся по ключу, на указанную величину * @async * @param {string} key - Ключ для увеличения значения * @param {number} [value=1] - Величина приращения (по умолчанию 1) * @returns {Promise} Новое значение после увеличения * @throws {Error} Если возникает ошибка при выполнении операции в Redis */ incrBy(key: string, value?: number): Promise; /** * Уменьшает числовое значение, хранящееся по ключу, на указанную величину * @async * @param {string} key - Ключ для уменьшения значения * @param {number} [value=1] - Величина уменьшения (по умолчанию 1) * @returns {Promise} Новое значение после уменьшения * @throws {Error} Если возникает ошибка при выполнении операции в Redis */ decrBy(key: string, value?: number): Promise; /** * Устанавливает значение ключа в Redis. * @param {string} key - Ключ, который нужно установить. * @param {string | number | Buffer} data - Значение ключа. * @param {SetOptions} [options] - Опциональные параметры для установки ключа. * @returns {Promise} - Результат выполнения команды SET. */ set(key: string, data: string | number | Buffer, options?: SetOptions): Promise; /** * Получает значение ключа в Redis. * @param {string} key - Ключ, значение которого нужно получить. * @returns {Promise} - Значение ключа или null, если ключ не существует. */ get(key: string): Promise; /** * Удаляет ключ из Redis. * @param {string} key - Ключ, который нужно удалить. * @returns {Promise} - Количество удаленных ключей (обычно 1). */ del(key: string): Promise; /** * Получает значение поля в хэше Redis. * @param {string} key - Ключ хэша. * @param {string} field - Поле в хэше. * @returns {Promise} - Значение поля или null, если поле не существует. */ hGet(key: string, field: string): Promise; /** * Устанавливает значения полей в хэше Redis. * @param {string} key - Ключ хэша. * @param {Record} data - Объект с полями и их значениями. * @returns {Promise} - Количество добавленных или измененных полей. */ hSet(key: string, data: Record): Promise; /** * Удаляет поля из хэша Redis. * @param {string} key - Ключ хэша. * @param {RedisCommandArgument | Array} field - Поле или массив полей для удаления. * @returns {Promise} - Количество удаленных полей. */ hDel(key: string, field: RedisCommandArgument | Array): Promise; /** * Получает все поля и значения хэша Redis. * @param {string} key - Ключ хэша. * @returns {Promise>} - Объект с полями и их значениями. */ hGetAll(key: string): Promise<{ [x: string]: string; }>; } //# sourceMappingURL=redis.service.d.ts.map