UNPKG

johnycash

Version:

Easy distributed caching for Node.js

65 lines 3.64 kB
import Redis from 'ioredis'; export interface Logger { log(message: string, ...args: any[]): void; error(message: string, ...args: any[]): void; warn(message: string, ...args: any[]): void; } export declare class RedisCacheService { private redis; private logger; constructor(redis: Redis, logger?: Logger); get<T>(key: string): Promise<T | undefined>; getMany<T>(keys: string[]): Promise<(T | undefined | null)[]>; setnx<T>(key: string, value: T, cacheNullable?: boolean): Promise<boolean>; set<T>(key: string, value: T, ttl?: number | null, cacheNullable?: boolean): Promise<void>; setMany<T>(keys: string[], values: T[], ttl: number, cacheNullable?: boolean): Promise<void>; expire(key: string, ttl: number): Promise<void>; pexpire(key: string, ttl: number): Promise<void>; delete(key: string): Promise<void>; deleteMany(keys: string[]): Promise<void>; deleteByPattern(keyPattern: string): Promise<void>; flushDb(): Promise<void>; getOrSet<T>(key: string, createValueFunc: () => Promise<T>, ttl: number, cacheNullable?: boolean): Promise<T>; setOrUpdate<T>(key: string, createValueFunc: () => Promise<T>, ttl: number, cacheNullable?: boolean): Promise<T>; scan(pattern: string): Promise<string[]>; increment(key: string, ttl?: number | null): Promise<number>; incrby(key: string, value: number | string): Promise<number>; decrement(key: string, ttl?: number | null): Promise<number>; hget<T>(hash: string, field: string): Promise<T | null>; hgetall(hash: string): Promise<Record<string, any> | null>; hset<T>(hash: string, field: string, value: T, cacheNullable?: boolean): Promise<number>; hsetMany(hash: string, fieldsValues: [string, any][], cacheNullable?: boolean): Promise<number>; hincrby(hash: string, field: string, value: number | string): Promise<number>; hkeys(hash: string): Promise<string[]>; zadd(key: string, member: string, value: number, options?: string[]): Promise<string | number>; zincrby(key: string, member: string, increment: number): Promise<string>; zrank(key: string, member: string): Promise<number | null>; keys(key: string): Promise<string[]>; zrevrank(key: string, member: string): Promise<number | null>; sadd(key: string, ...values: string[]): Promise<number | null>; sunionstore(destination: string, keys: string[]): Promise<number>; smembers(key: string): Promise<string[]>; zrevrange(setName: string, start: number, stop: number, withScores?: boolean): Promise<string[]>; zrangebyscore(setName: string, start: number | string, stop: number | string, options?: { withScores?: boolean; }): Promise<string[]>; zrange(setName: string, start: number | string, stop: number | string, options?: { order?: 'REV' | undefined; withScores?: boolean; }): Promise<string[]>; zmscore(setName: string, ...args: string[]): Promise<(string | null)[]>; scard(key: string): Promise<number>; zcount(key: string, min: number | '-inf', max: number | '+inf'): Promise<number>; defineCommand(name: string, definition: { lua: string; numberOfKeys?: number; readOnly?: boolean; }): void; executeCommand(name: string, ...args: (string | Buffer | number)[]): Promise<unknown>; rpush(key: string, items: any): Promise<void>; lrange(key: string, start?: number, stop?: number): Promise<string[]>; lpop(key: string): Promise<string[]>; private buildInternalCreateValueFunc; asyncMulti: (commands: any[]) => Promise<any>; } //# sourceMappingURL=redis-cache.service.d.ts.map