diff --git a/ioredis/ioredis-tests.ts b/ioredis/ioredis-tests.ts
new file mode 100644
index 000000000..928036791
--- /dev/null
+++ b/ioredis/ioredis-tests.ts
@@ -0,0 +1,54 @@
+///
+
+import * as Redis from "ioredis";
+var redis = new Redis();
+
+redis.set('foo', 'bar');
+redis.get('foo', function(err, result) {
+ console.log(result);
+});
+
+// Or using a promise if the last argument isn't a function
+redis.get('foo').then(function(result: any) {
+ console.log(result);
+});
+
+// Arguments to commands are flattened, so the following are the same:
+redis.sadd('set', 1, 3, 5, 7);
+redis.sadd('set', [1, 3, 5, 7]);
+
+// All arguments are passed directly to the redis server:
+redis.set('key', 100, 'EX', 10);
+
+new Redis() // Connect to 127.0.0.1:6379
+new Redis(6380) // 127.0.0.1:6380
+new Redis(6379, '192.168.1.1') // 192.168.1.1:6379
+new Redis('/tmp/redis.sock')
+new Redis({
+ port: 6379, // Redis port
+ host: '127.0.0.1', // Redis host
+ family: 4, // 4 (IPv4) or 6 (IPv6)
+ password: 'auth',
+ db: 0
+})
+
+var pub = new Redis();
+redis.subscribe('news', 'music', function(err: any, count: any) {
+ // Now we are subscribed to both the 'news' and 'music' channels.
+ // `count` represents the number of channels we are currently subscribed to.
+
+ pub.publish('news', 'Hello world!');
+ pub.publish('music', 'Hello again!');
+});
+
+redis.on('message', function(channel: any, message: any) {
+ // Receive message Hello world! from channel news
+ // Receive message Hello again! from channel music
+ console.log('Receive message %s from channel %s', message, channel);
+});
+
+// There's also an event called 'messageBuffer', which is the same as 'message' except
+// it returns buffers instead of strings.
+redis.on('messageBuffer', function(channel: any, message: any) {
+ // Both `channel` and `message` are buffers.
+});
diff --git a/ioredis/ioredis.d.ts b/ioredis/ioredis.d.ts
new file mode 100644
index 000000000..d8cd4b3c7
--- /dev/null
+++ b/ioredis/ioredis.d.ts
@@ -0,0 +1,699 @@
+// Type definitions for ioredis
+// Project: https://github.com/luin/ioredis
+// Definitions by: York Yao
+// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+
+/* =================== USAGE ===================
+ import * as Redis from "ioredis";
+ var redis = new Redis();
+ =============================================== */
+
+///
+
+declare module "ioredis" {
+
+
+ interface RedisStatic {
+ new (port?: number, host?: string, options?: IORedis.RedisOptions): IORedis.Redis;
+ new (host?: string, options?: IORedis.RedisOptions): IORedis.Redis;
+ new (options: IORedis.RedisOptions): IORedis.Redis;
+ new (url: string): IORedis.Redis;
+ (port?: number, host?: string, options?: IORedis.RedisOptions): IORedis.Redis;
+ (host?: string, options?: IORedis.RedisOptions): IORedis.Redis;
+ (options: IORedis.RedisOptions): IORedis.Redis;
+ (url: string): IORedis.Redis;
+ Cluster: IORedis.Cluster;
+ }
+
+ var redis: RedisStatic;
+ export = redis;
+}
+declare module IORedis {
+ interface Commander {
+ new (): Commander;
+ getBuiltinCommands(): string[];
+ createBuiltinCommand(commandName: string): {};
+ defineCommand(name: string, definition: {
+ numberOfKeys?: number;
+ lua?: string;
+ }): any;
+ sendCommand(): void;
+ }
+
+ interface Redis extends NodeJS.EventEmitter, Commander {
+ connect(callback: Function): Promise;
+ disconnect(): void;
+ duplicate(): Redis;
+ monitor(calback: (error: Error, monitor: NodeJS.EventEmitter) => void): Promise;
+
+ send_command(command: string, ...args: any[]): any;
+ auth(password: string, callback?: ResCallbackT): any;
+ ping(callback?: ResCallbackT): any;
+ append(key: string, value: string, callback?: ResCallbackT): any;
+ bitcount(key: string, callback?: ResCallbackT): any;
+ bitcount(key: string, start: number, end: number, callback?: ResCallbackT): any;
+ set(key: string, value: string, callback?: ResCallbackT): any;
+ get(key: string, callback?: ResCallbackT): any;
+ exists(key: string, value: string, callback?: ResCallbackT): any;
+ publish(channel: string, value: any): any;
+ subscribe(channel: string): any;
+ get(args: any[], callback?: ResCallbackT): any;
+ get(...args: any[]): any;
+ set(args: any[], callback?: ResCallbackT): any;
+ set(...args: any[]): any;
+ setnx(args: any[], callback?: ResCallbackT): any;
+ setnx(...args: any[]): any;
+ setex(args: any[], callback?: ResCallbackT): any;
+ setex(...args: any[]): any;
+ append(args: any[], callback?: ResCallbackT): any;
+ append(...args: any[]): any;
+ strlen(args: any[], callback?: ResCallbackT): any;
+ strlen(...args: any[]): any;
+ del(args: any[], callback?: ResCallbackT): any;
+ del(...args: any[]): any;
+ exists(args: any[], callback?: ResCallbackT): any;
+ exists(...args: any[]): any;
+ setbit(args: any[], callback?: ResCallbackT): any;
+ setbit(...args: any[]): any;
+ getbit(args: any[], callback?: ResCallbackT): any;
+ getbit(...args: any[]): any;
+ setrange(args: any[], callback?: ResCallbackT): any;
+ setrange(...args: any[]): any;
+ getrange(args: any[], callback?: ResCallbackT): any;
+ getrange(...args: any[]): any;
+ substr(args: any[], callback?: ResCallbackT): any;
+ substr(...args: any[]): any;
+ incr(args: any[], callback?: ResCallbackT): any;
+ incr(...args: any[]): any;
+ decr(args: any[], callback?: ResCallbackT): any;
+ decr(...args: any[]): any;
+ mget(args: any[], callback?: ResCallbackT): any;
+ mget(...args: any[]): any;
+ rpush(...args: any[]): any;
+ lpush(args: any[], callback?: ResCallbackT): any;
+ lpush(...args: any[]): any;
+ rpushx(args: any[], callback?: ResCallbackT): any;
+ rpushx(...args: any[]): any;
+ lpushx(args: any[], callback?: ResCallbackT): any;
+ lpushx(...args: any[]): any;
+ linsert(args: any[], callback?: ResCallbackT): any;
+ linsert(...args: any[]): any;
+ rpop(args: any[], callback?: ResCallbackT): any;
+ rpop(...args: any[]): any;
+ lpop(args: any[], callback?: ResCallbackT): any;
+ lpop(...args: any[]): any;
+ brpop(args: any[], callback?: ResCallbackT): any;
+ brpop(...args: any[]): any;
+ brpoplpush(args: any[], callback?: ResCallbackT): any;
+ brpoplpush(...args: any[]): any;
+ blpop(args: any[], callback?: ResCallbackT): any;
+ blpop(...args: any[]): any;
+ llen(args: any[], callback?: ResCallbackT): any;
+ llen(...args: any[]): any;
+ lindex(args: any[], callback?: ResCallbackT): any;
+ lindex(...args: any[]): any;
+ lset(args: any[], callback?: ResCallbackT): any;
+ lset(...args: any[]): any;
+ lrange(args: any[], callback?: ResCallbackT): any;
+ lrange(...args: any[]): any;
+ ltrim(args: any[], callback?: ResCallbackT): any;
+ ltrim(...args: any[]): any;
+ lrem(args: any[], callback?: ResCallbackT): any;
+ lrem(...args: any[]): any;
+ rpoplpush(args: any[], callback?: ResCallbackT): any;
+ rpoplpush(...args: any[]): any;
+ sadd(args: any[], callback?: ResCallbackT): any;
+ sadd(...args: any[]): any;
+ srem(args: any[], callback?: ResCallbackT): any;
+ srem(...args: any[]): any;
+ smove(args: any[], callback?: ResCallbackT): any;
+ smove(...args: any[]): any;
+ sismember(args: any[], callback?: ResCallbackT): any;
+ sismember(...args: any[]): any;
+ scard(args: any[], callback?: ResCallbackT): any;
+ scard(...args: any[]): any;
+ spop(args: any[], callback?: ResCallbackT): any;
+ spop(...args: any[]): any;
+ srandmember(args: any[], callback?: ResCallbackT): any;
+ srandmember(...args: any[]): any;
+ sinter(args: any[], callback?: ResCallbackT): any;
+ sinter(...args: any[]): any;
+ sinterstore(args: any[], callback?: ResCallbackT): any;
+ sinterstore(...args: any[]): any;
+ sunion(args: any[], callback?: ResCallbackT): any;
+ sunion(...args: any[]): any;
+ sunionstore(args: any[], callback?: ResCallbackT): any;
+ sunionstore(...args: any[]): any;
+ sdiff(args: any[], callback?: ResCallbackT): any;
+ sdiff(...args: any[]): any;
+ sdiffstore(args: any[], callback?: ResCallbackT): any;
+ sdiffstore(...args: any[]): any;
+ smembers(args: any[], callback?: ResCallbackT): any;
+ smembers(...args: any[]): any;
+ zadd(args: any[], callback?: ResCallbackT): any;
+ zadd(...args: any[]): any;
+ zincrby(args: any[], callback?: ResCallbackT): any;
+ zincrby(...args: any[]): any;
+ zrem(args: any[], callback?: ResCallbackT): any;
+ zrem(...args: any[]): any;
+ zremrangebyscore(args: any[], callback?: ResCallbackT): any;
+ zremrangebyscore(...args: any[]): any;
+ zremrangebyrank(args: any[], callback?: ResCallbackT): any;
+ zremrangebyrank(...args: any[]): any;
+ zunionstore(args: any[], callback?: ResCallbackT): any;
+ zunionstore(...args: any[]): any;
+ zinterstore(args: any[], callback?: ResCallbackT): any;
+ zinterstore(...args: any[]): any;
+ zrange(args: any[], callback?: ResCallbackT): any;
+ zrange(...args: any[]): any;
+ zrangebyscore(args: any[], callback?: ResCallbackT): any;
+ zrangebyscore(...args: any[]): any;
+ zrevrangebyscore(args: any[], callback?: ResCallbackT): any;
+ zrevrangebyscore(...args: any[]): any;
+ zcount(args: any[], callback?: ResCallbackT): any;
+ zcount(...args: any[]): any;
+ zrevrange(args: any[], callback?: ResCallbackT): any;
+ zrevrange(...args: any[]): any;
+ zcard(args: any[], callback?: ResCallbackT): any;
+ zcard(...args: any[]): any;
+ zscore(args: any[], callback?: ResCallbackT): any;
+ zscore(...args: any[]): any;
+ zrank(args: any[], callback?: ResCallbackT): any;
+ zrank(...args: any[]): any;
+ zrevrank(args: any[], callback?: ResCallbackT): any;
+ zrevrank(...args: any[]): any;
+ hset(args: any[], callback?: ResCallbackT): any;
+ hset(...args: any[]): any;
+ hsetnx(args: any[], callback?: ResCallbackT): any;
+ hsetnx(...args: any[]): any;
+ hget(args: any[], callback?: ResCallbackT): any;
+ hget(...args: any[]): any;
+ hmset(args: any[], callback?: ResCallbackT): any;
+ hmset(key: string, hash: any, callback?: ResCallbackT): any;
+ hmset(...args: any[]): any;
+ hmget(args: any[], callback?: ResCallbackT): any;
+ hmget(...args: any[]): any;
+ hincrby(args: any[], callback?: ResCallbackT): any;
+ hincrby(...args: any[]): any;
+ hdel(args: any[], callback?: ResCallbackT): any;
+ hdel(...args: any[]): any;
+ hlen(args: any[], callback?: ResCallbackT): any;
+ hlen(...args: any[]): any;
+ hkeys(args: any[], callback?: ResCallbackT): any;
+ hkeys(...args: any[]): any;
+ hvals(args: any[], callback?: ResCallbackT): any;
+ hvals(...args: any[]): any;
+ hgetall(args: any[], callback?: ResCallbackT): any;
+ hgetall(...args: any[]): any;
+ hgetall(key: string, callback?: ResCallbackT): any;
+ hexists(args: any[], callback?: ResCallbackT): any;
+ hexists(...args: any[]): any;
+ incrby(args: any[], callback?: ResCallbackT): any;
+ incrby(...args: any[]): any;
+ decrby(args: any[], callback?: ResCallbackT): any;
+ decrby(...args: any[]): any;
+ getset(args: any[], callback?: ResCallbackT): any;
+ getset(...args: any[]): any;
+ mset(args: any[], callback?: ResCallbackT): any;
+ mset(...args: any[]): any;
+ msetnx(args: any[], callback?: ResCallbackT): any;
+ msetnx(...args: any[]): any;
+ randomkey(args: any[], callback?: ResCallbackT): any;
+ randomkey(...args: any[]): any;
+ select(args: any[], callback?: ResCallbackT): void;
+ select(...args: any[]): void;
+ move(args: any[], callback?: ResCallbackT): any;
+ move(...args: any[]): any;
+ rename(args: any[], callback?: ResCallbackT): any;
+ rename(...args: any[]): any;
+ renamenx(args: any[], callback?: ResCallbackT): any;
+ renamenx(...args: any[]): any;
+ expire(args: any[], callback?: ResCallbackT): any;
+ expire(...args: any[]): any;
+ expireat(args: any[], callback?: ResCallbackT): any;
+ expireat(...args: any[]): any;
+ keys(args: any[], callback?: ResCallbackT): any;
+ keys(...args: any[]): any;
+ dbsize(args: any[], callback?: ResCallbackT): any;
+ dbsize(...args: any[]): any;
+ auth(args: any[], callback?: ResCallbackT): void;
+ auth(...args: any[]): void;
+ ping(args: any[], callback?: ResCallbackT): any;
+ ping(...args: any[]): any;
+ echo(args: any[], callback?: ResCallbackT): any;
+ echo(...args: any[]): any;
+ save(args: any[], callback?: ResCallbackT): any;
+ save(...args: any[]): any;
+ bgsave(args: any[], callback?: ResCallbackT): any;
+ bgsave(...args: any[]): any;
+ bgrewriteaof(args: any[], callback?: ResCallbackT): any;
+ bgrewriteaof(...args: any[]): any;
+ shutdown(args: any[], callback?: ResCallbackT): any;
+ shutdown(...args: any[]): any;
+ lastsave(args: any[], callback?: ResCallbackT): any;
+ lastsave(...args: any[]): any;
+ type(args: any[], callback?: ResCallbackT): any;
+ type(...args: any[]): any;
+ multi(args: any[], callback?: ResCallbackT): Pipeline;
+ multi(...args: any[]): Pipeline;
+ exec(args: any[], callback?: ResCallbackT): any;
+ exec(...args: any[]): any;
+ discard(args: any[], callback?: ResCallbackT): any;
+ discard(...args: any[]): any;
+ sync(args: any[], callback?: ResCallbackT): any;
+ sync(...args: any[]): any;
+ flushdb(args: any[], callback?: ResCallbackT): any;
+ flushdb(...args: any[]): any;
+ flushall(args: any[], callback?: ResCallbackT): any;
+ flushall(...args: any[]): any;
+ sort(args: any[], callback?: ResCallbackT): any;
+ sort(...args: any[]): any;
+ info(args: any[], callback?: ResCallbackT): any;
+ info(...args: any[]): any;
+ monitor(args: any[], callback?: ResCallbackT): any;
+ monitor(...args: any[]): any;
+ ttl(args: any[], callback?: ResCallbackT): any;
+ ttl(...args: any[]): any;
+ persist(args: any[], callback?: ResCallbackT): any;
+ persist(...args: any[]): any;
+ slaveof(args: any[], callback?: ResCallbackT): any;
+ slaveof(...args: any[]): any;
+ debug(args: any[], callback?: ResCallbackT): any;
+ debug(...args: any[]): any;
+ config(args: any[], callback?: ResCallbackT): any;
+ config(...args: any[]): any;
+ subscribe(args: any[], callback?: ResCallbackT): any;
+ subscribe(...args: any[]): any;
+ unsubscribe(args: any[], callback?: ResCallbackT): any;
+ unsubscribe(...args: any[]): any;
+ psubscribe(args: any[], callback?: ResCallbackT): any;
+ psubscribe(...args: any[]): any;
+ punsubscribe(args: any[], callback?: ResCallbackT): any;
+ punsubscribe(...args: any[]): any;
+ publish(args: any[], callback?: ResCallbackT): any;
+ publish(...args: any[]): any;
+ watch(args: any[], callback?: ResCallbackT): any;
+ watch(...args: any[]): any;
+ unwatch(args: any[], callback?: ResCallbackT): any;
+ unwatch(...args: any[]): any;
+ cluster(args: any[], callback?: ResCallbackT): any;
+ cluster(...args: any[]): any;
+ restore(args: any[], callback?: ResCallbackT): any;
+ restore(...args: any[]): any;
+ migrate(args: any[], callback?: ResCallbackT): any;
+ migrate(...args: any[]): any;
+ dump(args: any[], callback?: ResCallbackT): any;
+ dump(...args: any[]): any;
+ object(args: any[], callback?: ResCallbackT): any;
+ object(...args: any[]): any;
+ client(args: any[], callback?: ResCallbackT): any;
+ client(...args: any[]): any;
+ eval(args: any[], callback?: ResCallbackT): any;
+ eval(...args: any[]): any;
+ evalsha(args: any[], callback?: ResCallbackT): any;
+ evalsha(...args: any[]): any;
+ script(args: any[], callback?: ResCallbackT): any;
+ script(...args: any[]): any;
+ script(key: string, callback?: ResCallbackT): any;
+ quit(args: any[], callback?: ResCallbackT): any;
+ quit(...args: any[]): any;
+ scan(...args: any[]): any;
+ scan(args: any[], callback?: ResCallbackT): any;
+ hscan(...args: any[]): any;
+ hscan(args: any[], callback?: ResCallbackT): any;
+ zscan(...args: any[]): any;
+ zscan(args: any[], callback?: ResCallbackT): any;
+
+ pipeline(): Pipeline;
+ pipeline(commands: string[][]): Pipeline;
+
+ scanStream(options?: IORedis.ScanStreamOption): NodeJS.EventEmitter;
+ hscanStream(key: string, options?: IORedis.ScanStreamOption): NodeJS.EventEmitter;
+ }
+
+ interface Pipeline {
+ exec(callback?: ResCallbackT): any;
+
+ get(args: any[], callback?: ResCallbackT): Pipeline;
+ get(...args: any[]): Pipeline;
+ set(args: any[], callback?: ResCallbackT): Pipeline;
+ set(...args: any[]): Pipeline;
+ setnx(args: any[], callback?: ResCallbackT): Pipeline;
+ setnx(...args: any[]): Pipeline;
+ setex(args: any[], callback?: ResCallbackT): Pipeline;
+ setex(...args: any[]): Pipeline;
+ append(args: any[], callback?: ResCallbackT): Pipeline;
+ append(...args: any[]): Pipeline;
+ strlen(args: any[], callback?: ResCallbackT): Pipeline;
+ strlen(...args: any[]): Pipeline;
+ del(args: any[], callback?: ResCallbackT): Pipeline;
+ del(...args: any[]): Pipeline;
+ exists(args: any[], callback?: ResCallbackT): Pipeline;
+ exists(...args: any[]): Pipeline;
+ setbit(args: any[], callback?: ResCallbackT): Pipeline;
+ setbit(...args: any[]): Pipeline;
+ getbit(args: any[], callback?: ResCallbackT): Pipeline;
+ getbit(...args: any[]): Pipeline;
+ setrange(args: any[], callback?: ResCallbackT): Pipeline;
+ setrange(...args: any[]): Pipeline;
+ getrange(args: any[], callback?: ResCallbackT): Pipeline;
+ getrange(...args: any[]): Pipeline;
+ substr(args: any[], callback?: ResCallbackT): Pipeline;
+ substr(...args: any[]): Pipeline;
+ incr(args: any[], callback?: ResCallbackT): Pipeline;
+ incr(...args: any[]): Pipeline;
+ decr(args: any[], callback?: ResCallbackT): Pipeline;
+ decr(...args: any[]): Pipeline;
+ mget(args: any[], callback?: ResCallbackT): Pipeline;
+ mget(...args: any[]): Pipeline;
+ rpush(...args: any[]): Pipeline;
+ lpush(args: any[], callback?: ResCallbackT): Pipeline;
+ lpush(...args: any[]): Pipeline;
+ rpushx(args: any[], callback?: ResCallbackT): Pipeline;
+ rpushx(...args: any[]): Pipeline;
+ lpushx(args: any[], callback?: ResCallbackT): Pipeline;
+ lpushx(...args: any[]): Pipeline;
+ linsert(args: any[], callback?: ResCallbackT): Pipeline;
+ linsert(...args: any[]): Pipeline;
+ rpop(args: any[], callback?: ResCallbackT): Pipeline;
+ rpop(...args: any[]): Pipeline;
+ lpop(args: any[], callback?: ResCallbackT): Pipeline;
+ lpop(...args: any[]): Pipeline;
+ brpop(args: any[], callback?: ResCallbackT): Pipeline;
+ brpop(...args: any[]): Pipeline;
+ brpoplpush(args: any[], callback?: ResCallbackT): Pipeline;
+ brpoplpush(...args: any[]): Pipeline;
+ blpop(args: any[], callback?: ResCallbackT): Pipeline;
+ blpop(...args: any[]): Pipeline;
+ llen(args: any[], callback?: ResCallbackT): Pipeline;
+ llen(...args: any[]): Pipeline;
+ lindex(args: any[], callback?: ResCallbackT): Pipeline;
+ lindex(...args: any[]): Pipeline;
+ lset(args: any[], callback?: ResCallbackT): Pipeline;
+ lset(...args: any[]): Pipeline;
+ lrange(args: any[], callback?: ResCallbackT): Pipeline;
+ lrange(...args: any[]): Pipeline;
+ ltrim(args: any[], callback?: ResCallbackT): Pipeline;
+ ltrim(...args: any[]): Pipeline;
+ lrem(args: any[], callback?: ResCallbackT): Pipeline;
+ lrem(...args: any[]): Pipeline;
+ rpoplpush(args: any[], callback?: ResCallbackT): Pipeline;
+ rpoplpush(...args: any[]): Pipeline;
+ sadd(args: any[], callback?: ResCallbackT): Pipeline;
+ sadd(...args: any[]): Pipeline;
+ srem(args: any[], callback?: ResCallbackT): Pipeline;
+ srem(...args: any[]): Pipeline;
+ smove(args: any[], callback?: ResCallbackT): Pipeline;
+ smove(...args: any[]): Pipeline;
+ sismember(args: any[], callback?: ResCallbackT): Pipeline;
+ sismember(...args: any[]): Pipeline;
+ scard(args: any[], callback?: ResCallbackT): Pipeline;
+ scard(...args: any[]): Pipeline;
+ spop(args: any[], callback?: ResCallbackT): Pipeline;
+ spop(...args: any[]): Pipeline;
+ srandmember(args: any[], callback?: ResCallbackT): Pipeline;
+ srandmember(...args: any[]): Pipeline;
+ sinter(args: any[], callback?: ResCallbackT): Pipeline;
+ sinter(...args: any[]): Pipeline;
+ sinterstore(args: any[], callback?: ResCallbackT): Pipeline;
+ sinterstore(...args: any[]): Pipeline;
+ sunion(args: any[], callback?: ResCallbackT): Pipeline;
+ sunion(...args: any[]): Pipeline;
+ sunionstore(args: any[], callback?: ResCallbackT): Pipeline;
+ sunionstore(...args: any[]): Pipeline;
+ sdiff(args: any[], callback?: ResCallbackT): Pipeline;
+ sdiff(...args: any[]): Pipeline;
+ sdiffstore(args: any[], callback?: ResCallbackT): Pipeline;
+ sdiffstore(...args: any[]): Pipeline;
+ smembers(args: any[], callback?: ResCallbackT): Pipeline;
+ smembers(...args: any[]): Pipeline;
+ zadd(args: any[], callback?: ResCallbackT): Pipeline;
+ zadd(...args: any[]): Pipeline;
+ zincrby(args: any[], callback?: ResCallbackT): Pipeline;
+ zincrby(...args: any[]): Pipeline;
+ zrem(args: any[], callback?: ResCallbackT): Pipeline;
+ zrem(...args: any[]): Pipeline;
+ zremrangebyscore(args: any[], callback?: ResCallbackT): Pipeline;
+ zremrangebyscore(...args: any[]): Pipeline;
+ zremrangebyrank(args: any[], callback?: ResCallbackT): Pipeline;
+ zremrangebyrank(...args: any[]): Pipeline;
+ zunionstore(args: any[], callback?: ResCallbackT): Pipeline;
+ zunionstore(...args: any[]): Pipeline;
+ zinterstore(args: any[], callback?: ResCallbackT): Pipeline;
+ zinterstore(...args: any[]): Pipeline;
+ zrange(args: any[], callback?: ResCallbackT): Pipeline;
+ zrange(...args: any[]): Pipeline;
+ zrangebyscore(args: any[], callback?: ResCallbackT): Pipeline;
+ zrangebyscore(...args: any[]): Pipeline;
+ zrevrangebyscore(args: any[], callback?: ResCallbackT): Pipeline;
+ zrevrangebyscore(...args: any[]): Pipeline;
+ zcount(args: any[], callback?: ResCallbackT): Pipeline;
+ zcount(...args: any[]): Pipeline;
+ zrevrange(args: any[], callback?: ResCallbackT): Pipeline;
+ zrevrange(...args: any[]): Pipeline;
+ zcard(args: any[], callback?: ResCallbackT): Pipeline;
+ zcard(...args: any[]): Pipeline;
+ zscore(args: any[], callback?: ResCallbackT): Pipeline;
+ zscore(...args: any[]): Pipeline;
+ zrank(args: any[], callback?: ResCallbackT): Pipeline;
+ zrank(...args: any[]): Pipeline;
+ zrevrank(args: any[], callback?: ResCallbackT): Pipeline;
+ zrevrank(...args: any[]): Pipeline;
+ hset(args: any[], callback?: ResCallbackT): Pipeline;
+ hset(...args: any[]): Pipeline;
+ hsetnx(args: any[], callback?: ResCallbackT): Pipeline;
+ hsetnx(...args: any[]): Pipeline;
+ hget(args: any[], callback?: ResCallbackT): Pipeline;
+ hget(...args: any[]): Pipeline;
+ hmset(args: any[], callback?: ResCallbackT): Pipeline;
+ hmset(key: string, hash: any, callback?: ResCallbackT): Pipeline;
+ hmset(...args: any[]): Pipeline;
+ hmget(args: any[], callback?: ResCallbackT): Pipeline;
+ hmget(...args: any[]): Pipeline;
+ hincrby(args: any[], callback?: ResCallbackT): Pipeline;
+ hincrby(...args: any[]): Pipeline;
+ hdel(args: any[], callback?: ResCallbackT): Pipeline;
+ hdel(...args: any[]): Pipeline;
+ hlen(args: any[], callback?: ResCallbackT): Pipeline;
+ hlen(...args: any[]): Pipeline;
+ hkeys(args: any[], callback?: ResCallbackT): Pipeline;
+ hkeys(...args: any[]): Pipeline;
+ hvals(args: any[], callback?: ResCallbackT): Pipeline;
+ hvals(...args: any[]): Pipeline;
+ hgetall(args: any[], callback?: ResCallbackT): Pipeline;
+ hgetall(...args: any[]): Pipeline;
+ hgetall(key: string, callback?: ResCallbackT): Pipeline;
+ hexists(args: any[], callback?: ResCallbackT): Pipeline;
+ hexists(...args: any[]): Pipeline;
+ incrby(args: any[], callback?: ResCallbackT): Pipeline;
+ incrby(...args: any[]): Pipeline;
+ decrby(args: any[], callback?: ResCallbackT): Pipeline;
+ decrby(...args: any[]): Pipeline;
+ getset(args: any[], callback?: ResCallbackT): Pipeline;
+ getset(...args: any[]): Pipeline;
+ mset(args: any[], callback?: ResCallbackT): Pipeline;
+ mset(...args: any[]): Pipeline;
+ msetnx(args: any[], callback?: ResCallbackT): Pipeline;
+ msetnx(...args: any[]): Pipeline;
+ randomkey(args: any[], callback?: ResCallbackT): Pipeline;
+ randomkey(...args: any[]): Pipeline;
+ select(args: any[], callback?: ResCallbackT): void;
+ select(...args: any[]): Pipeline;
+ move(args: any[], callback?: ResCallbackT): Pipeline;
+ move(...args: any[]): Pipeline;
+ rename(args: any[], callback?: ResCallbackT): Pipeline;
+ rename(...args: any[]): Pipeline;
+ renamenx(args: any[], callback?: ResCallbackT): Pipeline;
+ renamenx(...args: any[]): Pipeline;
+ expire(args: any[], callback?: ResCallbackT): Pipeline;
+ expire(...args: any[]): Pipeline;
+ expireat(args: any[], callback?: ResCallbackT): Pipeline;
+ expireat(...args: any[]): Pipeline;
+ keys(args: any[], callback?: ResCallbackT): Pipeline;
+ keys(...args: any[]): Pipeline;
+ dbsize(args: any[], callback?: ResCallbackT): Pipeline;
+ dbsize(...args: any[]): Pipeline;
+ auth(args: any[], callback?: ResCallbackT): void;
+ auth(...args: any[]): void;
+ ping(args: any[], callback?: ResCallbackT): Pipeline;
+ ping(...args: any[]): Pipeline;
+ echo(args: any[], callback?: ResCallbackT): Pipeline;
+ echo(...args: any[]): Pipeline;
+ save(args: any[], callback?: ResCallbackT): Pipeline;
+ save(...args: any[]): Pipeline;
+ bgsave(args: any[], callback?: ResCallbackT): Pipeline;
+ bgsave(...args: any[]): Pipeline;
+ bgrewriteaof(args: any[], callback?: ResCallbackT): Pipeline;
+ bgrewriteaof(...args: any[]): Pipeline;
+ shutdown(args: any[], callback?: ResCallbackT): Pipeline;
+ shutdown(...args: any[]): Pipeline;
+ lastsave(args: any[], callback?: ResCallbackT): Pipeline;
+ lastsave(...args: any[]): Pipeline;
+ type(args: any[], callback?: ResCallbackT): Pipeline;
+ type(...args: any[]): Pipeline;
+ multi(args: any[], callback?: ResCallbackT): Pipeline;
+ multi(...args: any[]): Pipeline;
+ exec(args: any[], callback?: ResCallbackT): Pipeline;
+ exec(...args: any[]): Pipeline;
+ discard(args: any[], callback?: ResCallbackT): Pipeline;
+ discard(...args: any[]): Pipeline;
+ sync(args: any[], callback?: ResCallbackT): Pipeline;
+ sync(...args: any[]): Pipeline;
+ flushdb(args: any[], callback?: ResCallbackT): Pipeline;
+ flushdb(...args: any[]): Pipeline;
+ flushall(args: any[], callback?: ResCallbackT): Pipeline;
+ flushall(...args: any[]): Pipeline;
+ sort(args: any[], callback?: ResCallbackT): Pipeline;
+ sort(...args: any[]): Pipeline;
+ info(args: any[], callback?: ResCallbackT): Pipeline;
+ info(...args: any[]): Pipeline;
+ monitor(args: any[], callback?: ResCallbackT): Pipeline;
+ monitor(...args: any[]): Pipeline;
+ ttl(args: any[], callback?: ResCallbackT): Pipeline;
+ ttl(...args: any[]): Pipeline;
+ persist(args: any[], callback?: ResCallbackT