Я использую Node.js, и 'Redis-Scripto' модуль, и я пытаюсь определить функцию в Lua:Как определить функции в redis lua?
var redis = require("redis");
var redisClient = redis.createClient("6379","127.0.0.1");
var Scripto = require('redis-scripto');
var scriptManager = new Scripto(redisClient);
var scripts = {'add_script':'function add(i,j) return (i+j) end add(i,j)'};
scriptManager.load(scripts);
scriptManager.run('add_script', [], [1,1], function(err, result){
console.log(err || result);
});
поэтому я получаю эту ошибку:
[Error: ERR Error running script (call to .... @enable_strict_lua:7: user_script:1: Script attempted to create global variable 'add']
, так что я нашел, что это защита, as explained in this thread:
«Док-строка scriptingEnableGlobalsProtection указывает, что намерение состоит в том, чтобы уведомить авторов сценария о распространенной ошибке (не используя локальный).»
но я до сих пор не понял - где этот скриптинг.c? и решение меняющихся глобальных таблиц представляется мне рискованным.
Нет ли простого способа настройки функций для redis - с помощью lua?