kry*_*ryo 4 lua eval atomicity redis
我希望一个接一个地运行许多Lua脚本,而不允许任何命令在其间运行.我还需要将第一个脚本的结果传递给第二个脚本,等等.
我把所有脚本放在一个文件中,暂时解决了这个问题.但是,第二个脚本会修改第一个脚本返回的键.因此,将所有内容放在一个文件中会违反EVAL命令语义,因为第二个脚本使用的所有键都应使用KEYS数组传递.
Ita*_*ber 11
实际上,这是可能的.Redis有一个无证的功能,可以做到这一点.基本前提是,一旦您EVAL或SCRIPT LOAD脚本,您可以通过调用该函数从另一个脚本调用该脚本f_<sha1 hash>(其中sha1 hash是第一个脚本的SHA1哈希值).
f_<sha1 hash>
sha1 hash
对此的信任归于约西亚卡尔森(反过来,归功于内森弗里茨).Josiah博士非常友好地提供了这里的所有细节(这个文件是Python包的一部分,有助于管理调用其他脚本的Lua脚本).
归档时间:
11 年,8 月 前
查看次数:
1088 次
最近记录: