export abstract class BaseCache { /** * @param ttl TTL in ms */ public abstract async cache(key: K, value: V|null, ttl?: number): Promise public abstract async get(key: K): Promise /** * returns TTL in ms */ public abstract async getTTL(key: K): Promise public abstract async del(key: K): Promise public abstract async setnx(key: K, value: V): Promise public abstract async getset(key: K, value: V): Promise public abstract async expire(key: K, ttl: number): Promise public abstract async keys(key: string): Promise public abstract async exists(key: K): Promise }