Redisのでは私のようなCLI経由のLuaスクリプトを実行し、この: -
$ redis-cli --eval debug_script.lua key1 key2 key3 key4 , arg1 arg2
したがって、私のLuaスクリプトは4つのキーと2つの引数を受け入れます。
ここで、Node.jsで同じスクリプトを実行したいと思います。
このライブラリを使用して、アプリにRedisをインポートしています。
Luaスクリプトを実行するためのredisClient.eval(...)関数の引数について説明する例は見つかりませんでした。
したがって、私はうまくいくかもしれない何かをランダムに打っています。 しかし、何も機能していないようです。
私の質問:node.jsを使用して以下のコマンドを実行し、CLI(コマンドラインインターフェイス)を介して実行した場合と同じものを返す方法。
$ redis-cli --eval debug_script.lua key1 key2 key3 key4 , arg1 arg2
--eval
は「実際の」redisコマンドではなく、redis-cliの追加オプションです。 ただし、必要なことを実行することは可能です。
'use strict'
const redis = require('redis')
const client = redis.createClient()
const fs = require('fs')
client.eval(fs.readFileSync('./test.lua'), 2, 'key1', 'key2', 'first', 'second', function(err, res) {
console.log(arguments);
});
いくつかのセキュリティチェックを実行したい場合があり、 EVAL
は--eval
よりも多くのオプションが必要であることに注意してください。 --eval
とEVAL
の違いについて詳しくは、 https ://redis.io/topics/rediscli#running-lua-scriptsを
最も参考になるコメント
--eval
は「実際の」redisコマンドではなく、redis-cliの追加オプションです。 ただし、必要なことを実行することは可能です。いくつかのセキュリティチェックを実行したい場合があり、
EVAL
は--eval
よりも多くのオプションが必要であることに注意してください。--eval
とEVAL
の違いについて詳しくは、 https ://redis.io/topics/rediscli#running-lua-scriptsを