UNPKG

ts-api-core

Version:

Nodejs api framework core

97 lines (96 loc) 2.74 kB
import { BaseProvider } from '../../mvc/ioc.decorator'; /** 缓存配置 */ export interface ICacheConfig { /** redis地址 */ host: string; /** 端口 */ port: number; /** 密码 */ password?: string; /** 用户名 */ username?: string; } /** * Redis 缓存数据通道 */ export interface ICacheAccess { config: ICacheConfig; get: (key: string) => Promise<string>; set: (key: string, value: string) => Promise<void>; remove: (key: string) => Promise<void>; exists: (key: string) => Promise<boolean>; /** 设置key的有效期 单位秒 */ expire: (key: string, ttl: number) => Promise<boolean>; getSet: (key: string, value: string) => Promise<string>; search: (partykey: string) => Promise<string[]>; setNX: (key: string, value: string) => Promise<boolean>; } /** * Redis 缓存数据通道 */ export declare class CacheAccess extends BaseProvider implements ICacheAccess { onFree(): void; /** * redis连接信息 */ config: ICacheConfig; private _redis; private _client?; private get redis(); /** * 获取一个redis客户端 */ private getRedis; /** 初始化客户端, 允许不初始化, 每次临时生成 */ initClient(): void; /** 关闭客户端 */ quitClient(): void; private execute; /** * redis.get * @param key 缓存的key */ get(key: string): Promise<string>; /** * redis.set * @param key 缓存的key * @param value 缓存的值 * @param expire (可选) 缓存有效期 单位秒 */ set(key: string, value: string, expire?: number): Promise<void>; /** * redis.del 删除 * @param key 需要删除的key */ remove(key: string | string[]): Promise<void>; /** * 检查key是否存在 * @param key */ exists(key: string): Promise<boolean>; /** * 设置key的有效期 单位秒 * @param key * @param ttl 有效期 单位秒 */ expire(key: string, ttl: number): Promise<boolean>; /** * Set the string value of a key and return its old value. * if old value not exists,return nil * @param key * @param value new value */ getSet(key: string, value: string): Promise<string>; /** * 查找key * @param partykey */ search(partykey: string): Promise<string[]>; /** * Set the value of a key, only if the key does not exist. * 设置成功,返回 1 。 设置失败,返回 0 。 * @param key * @param value */ setNX(key: string, value: string): Promise<boolean>; }