Cómo pasar variables a lua script desde java? (Io.lettuce.core)

dk40149:

Tengo un script lua como este que hace un comando hgetall en un clúster Redis remoto:

String shaFindAccount = syncCommands.scriptLoad("local hgetAllKeys = function(key) \n" +
                                                "local acc = redis.call('HGETALL', key)\n" +
                                                "return acc\n" +
                                                "end\n");

Quiero pasar una variable a la llamada hgetall. Esto es lo que mi sentencia eval, llamando al script de arriba, se parece a:

list = syncCommands.evalsha(shaFindAccount, ScriptOutputType.MULTI, key);

Donde keyes un identificador único (clave primaria) de acc. En este momento esta función devuelve una lista vacía.

¿Cómo puedo pasar una variable de Java en el script lua anterior con io.lettuce.core? (No hay problemas de conexión, puedo utilizar una consulta similar con un codificado keyvalor y funciona)

m4gic:

Puede encontrar algunos ejemplos en esta prueba de la unidad. Parece que debería llamarlo de esta manera:

list = syncCommands.evalsha(digest, MULTI, new String[0], key));

y que debe referirse el argumento como ARGV [1].

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=211126&siteId=1
Recomendado
Clasificación