Node-redis: nodeJSでLuaスクリプトを実行するためのrediesvalコマンドの実行

作成日 2017年06月22日  ·  1コメント  ·  ソース: NodeRedis/node-redis

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
question

最も参考になるコメント

--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よりも多くのオプションが必要であることに注意してください。 --evalEVALの違いについて詳しくは、 https ://redis.io/topics/rediscli#running-lua-scriptsを

>すべてのコメント

--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よりも多くのオプションが必要であることに注意してください。 --evalEVALの違いについて詳しくは、 https ://redis.io/topics/rediscli#running-lua-scriptsを

このページは役に立ちましたか?
0 / 5 - 0 評価