You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-04 15:02:09 +03:00
Developing the 'somehow' in 'This list [of commands] needs to be updated, and perhaps auto-updated somehow'
This commit is contained in:
43
generate_commands.js
Normal file
43
generate_commands.js
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
var http = require("http"),
|
||||||
|
sys = require("sys"),
|
||||||
|
fs = require("fs");
|
||||||
|
|
||||||
|
http.get({host: "redis.io", path: "/commands.json"}, function(res) {
|
||||||
|
console.log("Response from redis.io/commands.json: " + res.statusCode);
|
||||||
|
|
||||||
|
var commandString = "";
|
||||||
|
res.on('data', function(chunk) {
|
||||||
|
commandString += chunk;
|
||||||
|
});
|
||||||
|
|
||||||
|
res.on('end', function() {
|
||||||
|
var commands = JSON.parse(commandString);
|
||||||
|
writeCommandsToFile(commands, "lib/commands.js");
|
||||||
|
})
|
||||||
|
}).on('error', function(e) {
|
||||||
|
console.log("Got error: " + e.message);
|
||||||
|
});
|
||||||
|
|
||||||
|
function writeCommandsToFile(commands, path) {
|
||||||
|
console.log("Writing " + path);
|
||||||
|
|
||||||
|
var fileContents = "// This file was generated by ./generate_commands.js on ";
|
||||||
|
fileContents += prettyCurrentTime();
|
||||||
|
fileContents += "\nCommands = [\n";
|
||||||
|
|
||||||
|
var lowerCommands = [];
|
||||||
|
for (var command in commands) {
|
||||||
|
lowerCommands.push(" \"" + command.toLowerCase() + "\"");
|
||||||
|
}
|
||||||
|
|
||||||
|
fileContents += lowerCommands.join(",\n");
|
||||||
|
fileContents += "\n];\n\n"
|
||||||
|
fileContents += "exports.Commands = Commands;"
|
||||||
|
|
||||||
|
fs.writeFile(path, fileContents);
|
||||||
|
}
|
||||||
|
|
||||||
|
function prettyCurrentTime() {
|
||||||
|
var date = new Date();
|
||||||
|
return date.toLocaleString();
|
||||||
|
}
|
25
index.js
25
index.js
@@ -1,6 +1,7 @@
|
|||||||
/*global Buffer require exports console setTimeout */
|
/*global Buffer require exports console setTimeout */
|
||||||
|
|
||||||
var net = require("net"),
|
var net = require("net"),
|
||||||
|
Commands = require("./lib/commands").Commands,
|
||||||
util = require("./lib/util").util,
|
util = require("./lib/util").util,
|
||||||
Queue = require("./lib/queue").Queue,
|
Queue = require("./lib/queue").Queue,
|
||||||
to_array = require("./lib/to_array"),
|
to_array = require("./lib/to_array"),
|
||||||
@@ -568,29 +569,7 @@ function Multi(client, args) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Official source is: http://redis.io/commands.json
|
Commands.forEach(function (command) {
|
||||||
// This list needs to be updated, and perhaps auto-updated somehow.
|
|
||||||
[
|
|
||||||
// string commands
|
|
||||||
"get", "set", "setnx", "setex", "append", "substr", "strlen", "del", "exists", "incr", "decr", "mget",
|
|
||||||
// list commands
|
|
||||||
"rpush", "lpush", "rpushx", "lpushx", "linsert", "rpop", "lpop", "brpop", "blpop", "brpoplpush", "llen", "lindex", "lset", "lrange",
|
|
||||||
"ltrim", "lrem", "rpoplpush",
|
|
||||||
// set commands
|
|
||||||
"sadd", "srem", "smove", "sismember", "scard", "spop", "srandmember", "sinter", "sinterstore", "sunion", "sunionstore", "sdiff", "sdiffstore", "smembers",
|
|
||||||
// sorted set commands
|
|
||||||
"zadd", "zincrby", "zrem", "zremrangebyscore", "zremrangebyrank", "zunionstore", "zinterstore", "zrange", "zrangebyscore", "zrevrangebyscore",
|
|
||||||
"zcount", "zrevrange", "zcard", "zscore", "zrank", "zrevrank",
|
|
||||||
// hash commands
|
|
||||||
"hset", "hsetnx", "hget", "hmget", "hincrby", "hdel", "hlen", "hkeys", "hvals", "hgetall", "hexists", "incrby", "decrby",
|
|
||||||
//bit commands
|
|
||||||
"getbit", "setbit", "getrange", "setrange",
|
|
||||||
// misc
|
|
||||||
"getset", "mset", "msetnx", "randomkey", "select", "move", "rename", "renamenx", "expire", "expireat", "keys", "dbsize", "ping", "echo",
|
|
||||||
"save", "bgsave", "bgwriteaof", "shutdown", "lastsave", "type", "sync", "flushdb", "flushall", "sort", "info", "discard",
|
|
||||||
"monitor", "ttl", "persist", "slaveof", "debug", "config", "subscribe", "unsubscribe", "psubscribe", "punsubscribe", "publish", "watch", "unwatch",
|
|
||||||
"quit"
|
|
||||||
].forEach(function (command) {
|
|
||||||
RedisClient.prototype[command] = function () {
|
RedisClient.prototype[command] = function () {
|
||||||
var args = to_array(arguments);
|
var args = to_array(arguments);
|
||||||
args.unshift(command); // put command at the beginning
|
args.unshift(command); // put command at the beginning
|
||||||
|
128
lib/commands.js
Normal file
128
lib/commands.js
Normal file
@@ -0,0 +1,128 @@
|
|||||||
|
// This file was generated by ./generate_commands.js on Thu Jun 02 2011 21:09:35 GMT-0500 (CDT)
|
||||||
|
Commands = [
|
||||||
|
"append",
|
||||||
|
"auth",
|
||||||
|
"bgrewriteaof",
|
||||||
|
"bgsave",
|
||||||
|
"blpop",
|
||||||
|
"brpop",
|
||||||
|
"brpoplpush",
|
||||||
|
"config get",
|
||||||
|
"config set",
|
||||||
|
"config resetstat",
|
||||||
|
"dbsize",
|
||||||
|
"debug object",
|
||||||
|
"debug segfault",
|
||||||
|
"decr",
|
||||||
|
"decrby",
|
||||||
|
"del",
|
||||||
|
"discard",
|
||||||
|
"echo",
|
||||||
|
"exec",
|
||||||
|
"exists",
|
||||||
|
"expire",
|
||||||
|
"expireat",
|
||||||
|
"flushall",
|
||||||
|
"flushdb",
|
||||||
|
"get",
|
||||||
|
"getbit",
|
||||||
|
"getrange",
|
||||||
|
"getset",
|
||||||
|
"hdel",
|
||||||
|
"hexists",
|
||||||
|
"hget",
|
||||||
|
"hgetall",
|
||||||
|
"hincrby",
|
||||||
|
"hkeys",
|
||||||
|
"hlen",
|
||||||
|
"hmget",
|
||||||
|
"hmset",
|
||||||
|
"hset",
|
||||||
|
"hsetnx",
|
||||||
|
"hvals",
|
||||||
|
"incr",
|
||||||
|
"incrby",
|
||||||
|
"info",
|
||||||
|
"keys",
|
||||||
|
"lastsave",
|
||||||
|
"lindex",
|
||||||
|
"linsert",
|
||||||
|
"llen",
|
||||||
|
"lpop",
|
||||||
|
"lpush",
|
||||||
|
"lpushx",
|
||||||
|
"lrange",
|
||||||
|
"lrem",
|
||||||
|
"lset",
|
||||||
|
"ltrim",
|
||||||
|
"mget",
|
||||||
|
"monitor",
|
||||||
|
"move",
|
||||||
|
"mset",
|
||||||
|
"msetnx",
|
||||||
|
"multi",
|
||||||
|
"object",
|
||||||
|
"persist",
|
||||||
|
"ping",
|
||||||
|
"psubscribe",
|
||||||
|
"publish",
|
||||||
|
"punsubscribe",
|
||||||
|
"quit",
|
||||||
|
"randomkey",
|
||||||
|
"rename",
|
||||||
|
"renamenx",
|
||||||
|
"rpop",
|
||||||
|
"rpoplpush",
|
||||||
|
"rpush",
|
||||||
|
"rpushx",
|
||||||
|
"sadd",
|
||||||
|
"save",
|
||||||
|
"scard",
|
||||||
|
"sdiff",
|
||||||
|
"sdiffstore",
|
||||||
|
"select",
|
||||||
|
"set",
|
||||||
|
"setbit",
|
||||||
|
"setex",
|
||||||
|
"setnx",
|
||||||
|
"setrange",
|
||||||
|
"shutdown",
|
||||||
|
"sinter",
|
||||||
|
"sinterstore",
|
||||||
|
"sismember",
|
||||||
|
"slaveof",
|
||||||
|
"smembers",
|
||||||
|
"smove",
|
||||||
|
"sort",
|
||||||
|
"spop",
|
||||||
|
"srandmember",
|
||||||
|
"srem",
|
||||||
|
"strlen",
|
||||||
|
"subscribe",
|
||||||
|
"sunion",
|
||||||
|
"sunionstore",
|
||||||
|
"sync",
|
||||||
|
"ttl",
|
||||||
|
"type",
|
||||||
|
"unsubscribe",
|
||||||
|
"unwatch",
|
||||||
|
"watch",
|
||||||
|
"zadd",
|
||||||
|
"zcard",
|
||||||
|
"zcount",
|
||||||
|
"zincrby",
|
||||||
|
"zinterstore",
|
||||||
|
"zrange",
|
||||||
|
"zrangebyscore",
|
||||||
|
"zrank",
|
||||||
|
"zrem",
|
||||||
|
"zremrangebyrank",
|
||||||
|
"zremrangebyscore",
|
||||||
|
"zrevrange",
|
||||||
|
"zrevrangebyscore",
|
||||||
|
"zrevrank",
|
||||||
|
"zscore",
|
||||||
|
"zunionstore"
|
||||||
|
];
|
||||||
|
|
||||||
|
exports.Commands = Commands;
|
Reference in New Issue
Block a user