johnycash
Version:
Easy distributed caching for Node.js
28 lines • 1.34 kB
TypeScript
import { CacheSetting, LockCacheSettings, LockerOptions } from './cache-settings';
import { Lock } from 'redlock';
import { Logger } from './logger';
export declare class JohnyCacheService {
private instanceId;
private logger;
private memoryCache;
private redis;
private redisPubSubServices;
private redisCache;
private redlock;
private defaultLockOptions;
private defaultRedlock;
constructor(redisConnectionString: string, logger?: Logger, defaultLockOptions?: LockerOptions);
set(cacheSettings: CacheSetting, value: any): Promise<void>;
get(cacheSettings: CacheSetting): Promise<any>;
deleteMulti(keys: string[]): Promise<void>;
deleteByKey(key: string, localTtl?: number): Promise<void>;
delete(cacheSettings: CacheSetting): Promise<void>;
getOrSetCache<T>(cacheSettings: CacheSetting, promise: () => Promise<T>, forceRefresh?: boolean): Promise<T>;
acquireLock(cacheSettings: LockCacheSettings): Promise<Lock | null>;
releaseLock(lock: Lock): Promise<void>;
sendDeleteRemoteKeysEvent(keys: string[]): Promise<void>;
sendRefreshRemoteKeysEvent(keys: string[], ttl: number): Promise<void>;
handleDeleteRemoteKeysEvent(event: any): Promise<void>;
handleRefreshRemoteKeysEvent(event: any): Promise<void>;
}
//# sourceMappingURL=johny-cache.d.ts.map