@melchyore/adonis-cache
Version:
Cache package for AdonisJS V5
25 lines (24 loc) • 1.29 kB
TypeScript
import type { CacheStoreContract } from '@ioc:Adonis/Addons/Cache';
import type { AdonisMemcachedClientContract } from '@ioc:Adonis/Addons/Adonis5-MemcachedClient';
import TaggableStore from './TaggableStore';
export default class Memcached extends TaggableStore implements CacheStoreContract {
private client;
constructor(client: AdonisMemcachedClientContract);
/**
* In Memcached, TTL is expressed in seconds.
*/
calculateTTL(ttlInMilliseconds: number): number;
get<T = any>(key: string): Promise<T | null>;
many<T extends Record<string, any>>(keys: Array<string>): Promise<T>;
has(key: string): Promise<boolean>;
put<T = any>(key: string, value: T, ttl: number): Promise<boolean>;
add<T = any>(key: string, value: T, ttl: number): Promise<boolean>;
putMany(list: Record<string, unknown>, ttl: number): Promise<Array<boolean>>;
increment(key: string, value: number): Promise<number | boolean>;
decrement(key: string, value: number): Promise<number | boolean>;
putManyForever(list: Record<string, unknown>): Promise<Array<boolean>>;
forever<T = any>(key: string, value: T): Promise<boolean>;
forget(key: string): Promise<boolean>;
flush(): Promise<boolean>;
private incrementOrDecrement;
}