/// /// import events = require("events"); import Redis = require("ioredis"); import { Callback } from "./define"; export interface CacheOptions { /** * Redis 连接信息 * {host, port, password, db } * 参考 https://github.com/luin/ioredis/blob/master/API.md#new_Redis */ redis: Redis.RedisOptions; /** * 缓存时间,单位:秒 */ ttl: number; /** * Redis Key 前缀 */ prefix: string; } export interface CacheDataItem { /** * 缓存Key */ key: string; /** * 数据 */ data: string; } export declare class Cache extends events.EventEmitter { private _redis; private _ttl; private _prefix; /** * 创建 Cache 实例 */ constructor(options: CacheOptions); /** * 获取 redis 实例 */ readonly redis: Redis.Redis; /** * 保存到缓存 * @param list 每个元素为 { key, data } */ saveList(list: CacheDataItem[]): Promise; /** * 保存到缓存 * @param list 每个元素为 { key, data } * @param callback 回调函数 */ saveList(list: CacheDataItem[], callback: Callback): void; /** * 保存到缓存 * @param item 数据 { key, data } */ saveItem(item: CacheDataItem): Promise; /** * 保存到缓存 * @param item 数据 { key, data } * @param callback 回调函数 */ saveItem(item: CacheDataItem, callback: Callback): void; /** * 查询缓存 * @param keys key 数组 */ getList(keys: string[]): Promise; /** * 查询缓存 * @param keys key 数组 * @param callback 回调函数 */ getList(keys: string[], callback: Callback): void; /** * 查询缓存 * @param key */ getItem(key: string): Promise; /** * 查询缓存 * @param key * @param callback 回调函数 */ getItem(key: string, callback: Callback): void; /** * 从缓存中缓存 * @param keys */ removeList(list: string[]): Promise; /** * 从缓存中缓存 * @param keys * @param callback 回调函数 */ removeList(list: string[], callback: Callback): void; /** * 删除缓存 * @param key */ removeItem(key: string): Promise; /** * 删除缓存 * @param key * @param callback 回调函数 */ removeItem(key: string, callback: Callback): void; /** * 查询缓存(key的内容指向另一个key) * @param key */ getPointerItem(key: string): Promise; /** * 查询缓存(key的内容指向另一个key) * @param key */ getPointerItem(key: string, callback: Callback): void; /** * 关闭连接 */ close(): Promise; /** * 关闭连接 * @param callback 回调函数 */ close(callback: Callback): void; /** * 返回实际的 Key * @param key 原来的 key */ private _getKey(key); }