You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-06 02:15:48 +03:00
Use first word of multi word commands
Close #363. Signed-off-by: DTrejo <david.daniel.trejo@gmail.com>
This commit is contained in:
@@ -543,6 +543,15 @@ This will display:
|
|||||||
|
|
||||||
`send command` is data sent into Redis and `on_data` is data received from Redis.
|
`send command` is data sent into Redis and `on_data` is data received from Redis.
|
||||||
|
|
||||||
|
## Multi-word commands
|
||||||
|
|
||||||
|
To execute redis multi-word commands like `SCRIPT LOAD` or `CLIENT LIST` pass
|
||||||
|
the second word as first parameter:
|
||||||
|
|
||||||
|
client.script('load', 'return 1');
|
||||||
|
client.multi().script('load', 'return 1').exec(...);
|
||||||
|
client.multi([['script', 'load', 'return 1']]).exec(...);
|
||||||
|
|
||||||
## client.send_command(command_name, args, callback)
|
## client.send_command(command_name, args, callback)
|
||||||
|
|
||||||
Used internally to send commands to Redis. For convenience, nearly all commands that are published on the Redis
|
Used internally to send commands to Redis. For convenience, nearly all commands that are published on the Redis
|
||||||
|
4
index.js
4
index.js
@@ -865,7 +865,9 @@ commands = set_union(["get", "set", "setnx", "setex", "append", "strlen", "del",
|
|||||||
"persist", "slaveof", "debug", "config", "subscribe", "unsubscribe", "psubscribe", "punsubscribe", "publish", "watch", "unwatch", "cluster",
|
"persist", "slaveof", "debug", "config", "subscribe", "unsubscribe", "psubscribe", "punsubscribe", "publish", "watch", "unwatch", "cluster",
|
||||||
"restore", "migrate", "dump", "object", "client", "eval", "evalsha"], require("./lib/commands"));
|
"restore", "migrate", "dump", "object", "client", "eval", "evalsha"], require("./lib/commands"));
|
||||||
|
|
||||||
commands.forEach(function (command) {
|
commands.forEach(function (fullCommand) {
|
||||||
|
var command = fullCommand.split(' ')[0];
|
||||||
|
|
||||||
RedisClient.prototype[command] = function (args, callback) {
|
RedisClient.prototype[command] = function (args, callback) {
|
||||||
if (Array.isArray(args) && typeof callback === "function") {
|
if (Array.isArray(args) && typeof callback === "function") {
|
||||||
return this.send_command(command, args, callback);
|
return this.send_command(command, args, callback);
|
||||||
|
16
test.js
16
test.js
@@ -406,6 +406,22 @@ tests.EVAL_1 = function () {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
tests.SCRIPT_LOAD = function() {
|
||||||
|
if (server_version_at_least(bclient, [2, 5, 0])) {
|
||||||
|
var name = "SCRIPT_LOAD",
|
||||||
|
command = "return 1",
|
||||||
|
commandSha = crypto.createHash('sha1').update(command).digest('hex');
|
||||||
|
|
||||||
|
bclient.script("load", command, function(err, result) {
|
||||||
|
assert.strictEqual(result.toString(), commandSha);
|
||||||
|
next(name);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
console.log("Skipping " + name + " because server version isn't new enough.");
|
||||||
|
next(name);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
tests.WATCH_MULTI = function () {
|
tests.WATCH_MULTI = function () {
|
||||||
var name = 'WATCH_MULTI', multi;
|
var name = 'WATCH_MULTI', multi;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user