@joshbetz/memcached
Version:
Memcached client for modern Node JS
36 lines (35 loc) • 1.24 kB
TypeScript
/// <reference types="node" />
import { EventEmitter } from 'events';
import Pool, { type PoolOptions } from './pool';
declare const HashRing: any;
export type HashPoolOptions = {
retry: (retries: number) => number;
pingInterval: number;
} & PoolOptions;
type PoolNode = {
pool: Pool;
reconnecting: boolean;
};
export default class HashPool extends EventEmitter {
hashring: typeof HashRing;
nodes: Map<string, PoolNode>;
isReady: boolean;
retries: number;
opts: HashPoolOptions;
constructor(nodes: Array<string>, opts?: any);
connect(node: string): void;
reconnect(node: string): void;
disconnect(node: string, reconnect?: boolean): void;
ready(): Promise<true | void>;
getHost(key: string): Promise<Pool>;
flush(): Promise<void>;
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>;
}
export {};