connect-redis
Version:
Redis session store for Connect
46 lines (40 loc) • 1.45 kB
TypeScript
import { RedisClientType } from 'redis';
import { RedisClusterType } from 'redis';
import { SessionData } from 'express-session';
import { Store } from 'express-session';
declare type Callback = (_err?: unknown, _data?: any) => any;
export declare class RedisStore extends Store {
client: RedisClientType | RedisClusterType;
prefix: string;
scanCount: number;
serializer: Serializer;
ttl: number | ((sess: SessionData) => number);
disableTTL: boolean;
disableTouch: boolean;
constructor(opts: RedisStoreOptions);
get(sid: string, cb?: Callback): Promise<any>;
set(sid: string, sess: SessionData, cb?: Callback): Promise<any>;
touch(sid: string, sess: SessionData, cb?: Callback): Promise<any>;
destroy(sid: string, cb?: Callback): Promise<any>;
clear(cb?: Callback): Promise<any>;
length(cb?: Callback): Promise<any>;
ids(cb?: Callback): Promise<any>;
all(cb?: Callback): Promise<any>;
private getTTL;
private getAllKeys;
private scanIterator;
}
declare interface RedisStoreOptions {
client: any;
prefix?: string;
scanCount?: number;
serializer?: Serializer;
ttl?: number | ((sess: SessionData) => number);
disableTTL?: boolean;
disableTouch?: boolean;
}
declare interface Serializer {
parse(s: string): SessionData | Promise<SessionData>;
stringify(s: SessionData): string;
}
export { }