You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Redis commands can take many more arguments than can actually be passed to redis.call in a lua script, because of lua's limit on the stack size when calling a function. This necessitates ugly workarounds, like the massive_redis_command helper function proposed in another issue, which presumably also have a performance cost.
The underlying cause for this issue seems to usually be trying to pipe the (possibly transformed) output of one redis command as the input to another, which scripting was meant to solve, but which is a bit annoying to do reliably if you have to worry about these stack size issues.
To avoid these hacks, it would be nice for redis to expose to lua a function that could take a lua table as the command's arguments. I don't have strong feelings about the name/exact API, but perahps something like redis.callWithTable(cmd_name, table_of_args)?
The text was updated successfully, but these errors were encountered:
Redis commands can take many more arguments than can actually be passed to
redis.call
in a lua script, because of lua's limit on the stack size when calling a function. This necessitates ugly workarounds, like themassive_redis_command
helper function proposed in another issue, which presumably also have a performance cost.The underlying cause for this issue seems to usually be trying to pipe the (possibly transformed) output of one redis command as the input to another, which scripting was meant to solve, but which is a bit annoying to do reliably if you have to worry about these stack size issues.
To avoid these hacks, it would be nice for redis to expose to lua a function that could take a lua table as the command's arguments. I don't have strong feelings about the name/exact API, but perahps something like
redis.callWithTable(cmd_name, table_of_args)
?The text was updated successfully, but these errors were encountered: