/** * Redis接口定义 * 定义统一的Redis操作接口,支持文件存储和真实Redis切换 */ export interface IRedisService { /** * 设置键值对 * @param key 键 * @param value 值 * @param ttl 过期时间(秒) */ set(key: string, value: string, ttl?: number): Promise; /** * 设置键值对并指定过期时间 * @param key 键 * @param ttl 过期时间(秒) * @param value 值 */ setex(key: string, ttl: number, value: string): Promise; /** * 获取值 * @param key 键 * @returns 值或null */ get(key: string): Promise; /** * 删除键 * @param key 键 * @returns 是否删除成功 */ del(key: string): Promise; /** * 检查键是否存在 * @param key 键 * @returns 是否存在 */ exists(key: string): Promise; /** * 设置过期时间 * @param key 键 * @param ttl 过期时间(秒) */ expire(key: string, ttl: number): Promise; /** * 获取剩余过期时间 * @param key 键 * @returns 剩余时间(秒),-1表示永不过期,-2表示不存在 */ ttl(key: string): Promise; /** * 自增 * @param key 键 * @returns 自增后的值 */ incr(key: string): Promise; /** * 添加元素到集合 * @param key 键 * @param member 成员 */ sadd(key: string, member: string): Promise; /** * 从集合移除元素 * @param key 键 * @param member 成员 */ srem(key: string, member: string): Promise; /** * 获取集合所有成员 * @param key 键 * @returns 成员列表 */ smembers(key: string): Promise; /** * 清空所有数据 */ flushall(): Promise; }