Node-redis: mengeksekusi perintah redis eval untuk menjalankan skrip Lua di nodeJS

Dibuat pada 22 Jun 2017  ·  1Komentar  ·  Sumber: NodeRedis/node-redis

Di Redis saya menjalankan skrip Lua melalui CLI seperti ini: -

    $ redis-cli --eval debug_script.lua key1 key2 key3 key4 , arg1 arg2

Jadi, skrip Lua saya menerima 4 kunci dan 2 argumen.

Sekarang saya ingin menjalankan skrip yang sama di Node.js.

Saya menggunakan perpustakaan ini untuk mengimpor Redis di aplikasi saya.

Saya tidak menemukan contoh apa pun yang menceritakan tentang argumen fungsi redisClient.eval (...) untuk mengeksekusi skrip Lua.

Jadi saya hanya memukul sesuatu secara acak yang mungkin berhasil. Tapi sepertinya tidak ada yang berhasil.

Pertanyaan saya: Bagaimana menjalankan perintah di bawah ini menggunakan node.js, sehingga mengembalikan hal yang sama seperti ketika dijalankan melalui CLI (command-line-interface).

    $ redis-cli --eval debug_script.lua key1 key2 key3 key4 , arg1 arg2
question

Komentar yang paling membantu

--eval bukanlah perintah redis 'nyata' tetapi hanya opsi tambahan dari redis-cli. Namun, Anda tetap dapat melakukan apa yang Anda inginkan:

'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);
});

Ingatlah bahwa Anda mungkin ingin melakukan beberapa pemeriksaan keamanan dan bahwa EVAL memerlukan lebih banyak opsi daripada --eval . Baca lebih lanjut tentang perbedaan antara --eval dan EVAL sini: https://redis.io/topics/rediscli#running -lua-scripts

>Semua komentar

--eval bukanlah perintah redis 'nyata' tetapi hanya opsi tambahan dari redis-cli. Namun, Anda tetap dapat melakukan apa yang Anda inginkan:

'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);
});

Ingatlah bahwa Anda mungkin ingin melakukan beberapa pemeriksaan keamanan dan bahwa EVAL memerlukan lebih banyak opsi daripada --eval . Baca lebih lanjut tentang perbedaan antara --eval dan EVAL sini: https://redis.io/topics/rediscli#running -lua-scripts

Apakah halaman ini membantu?
0 / 5 - 0 peringkat