sql >> データベース >  >> NoSQL >> Redis

nodeJSでLuaスクリプトを実行するためのredisevalコマンドの実行

    いくつかの解決策を見つけました:

    ソリューション1

    var redis = require('redis')
    var client = redis.createClient()
    var fs = require('fs')
    
    client.eval(fs.readFileSync('./debug_script.lua'), 4, key1, key2, key3, key4, arg1, arg2, function(err, res) {
      console.log(res);
    });
    

    4 (evalの2番目の引数)は、スクリプトで渡されるキーの数を表します。

    ソリューション2 )子プロセスを作成し、CLIコマンドを実行します。

    var redis = require("redis");
    var client = redis.createClient();
    
    var exec = require('child_process').exec;
    
    var cmd = 'redis-cli --eval debug_script.lua key1 key2 key3 key4 , arg1 arg2';
    
    
    exec(cmd, function(error, stdout, stderr) {
        // command output is in stdout
            console.log("something happened \n");
            console.log(stdout);
        });
    



    1. リストをRedisの構造にネストして、トップレベルを減らすにはどうすればよいですか?

    2. redisキーを保存するための最良の方法

    3. ホストマシンからDockerコンテナで実行されているRedisに接続する

    4. Mac OS Xでmongodを停止するためのクリーンな方法は何ですか?