@joshbetz/memcached
Version:
Memcached client for modern Node JS
32 lines (31 loc) • 1.2 kB
TypeScript
/// <reference types="node" />
import { type Pool as GenericPool } from 'generic-pool';
import { EventEmitter } from 'events';
import Memcached, { type MemcachedOptions } from './memcached';
export type PoolOptions = {
max: number;
min: number;
acquireTimeoutMillis: number;
destroyTimeoutMillis: number;
maxWaitingClients: number;
idleTimeoutMillis: number;
autostart: boolean;
fifo: boolean;
evictionRunIntervalMillis: number;
} & MemcachedOptions;
export default class Pool extends EventEmitter {
pool: GenericPool<Memcached>;
opts: PoolOptions;
constructor(port: number, host: string, opts?: any);
ready(): Promise<unknown>;
use(fn: (client: Memcached) => Promise<any>): Promise<any>;
flush(): Promise<any>;
set(key: string, value: string | number, ttl?: number): Promise<boolean>;
add(key: string, value: string | number, ttl?: number): Promise<boolean>;
get(key: string): Promise<string | false>;
del(key: string): Promise<boolean>;
incr(key: string, value?: number): Promise<number | false>;
decr(key: string, value?: number): Promise<number | false>;
ping(): Promise<boolean>;
end(): Promise<void>;
}