method

RedisClient.eval

script: string,
numkeys: number,
...keysAndArgs: string | number[]
): Promise<any>;

Execute a Lua script server side

@param script

The Lua script source

@param numkeys

The number of keys in the keys array

@param keysAndArgs

The keys followed by additional arguments

@returns

Promise that resolves with the script's return value

await redis.eval("return ARGV[1]", 0, "hello"); // "hello"
await redis.eval("return redis.call('GET', KEYS[1])", 1, "mykey");

The reply is converted the same way as for send.