Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在redis集群模式下,加载脚本时返回的SHA值是否相同?_Redis_Lua_Jedis - Fatal编程技术网

在redis集群模式下,加载脚本时返回的SHA值是否相同?

在redis集群模式下,加载脚本时返回的SHA值是否相同?,redis,lua,jedis,Redis,Lua,Jedis,我正在使用lua脚本执行属于同一个键的2个操作。在群集模式下运行Redis。使用java绝地库连接到Redis群集 加载lua脚本的语法如下 jedisCluster.loadScript(<ScriptString>, <Key>); jedisCluster.loadScript(,); 它返回一个SHA值,我可以在绝地星团的evalsha函数中使用,如下所示 jedisCluster.evalsha(<ShaValue>, <Key Count

我正在使用lua脚本执行属于同一个键的2个操作。在群集模式下运行Redis。使用java绝地库连接到Redis群集

加载lua脚本的语法如下

jedisCluster.loadScript(<ScriptString>, <Key>);
jedisCluster.loadScript(,);
它返回一个SHA值,我可以在绝地星团的evalsha函数中使用,如下所示

jedisCluster.evalsha(<ShaValue>, <Key Count>, <key>)
jedisCluster.evalsha(,)
在执行上述方法时,我正在处理NoScript错误,并将再次加载脚本

问题:如果我加载同一个脚本,其键值不同,SHA值会不同吗?如果两个键落在不同的簇中,则SHA值不同

我正在尝试将此SHA值保存为字符串,并将其用于所有键


我知道字符串的SHA是相同的,但我不确定redis是否在生成SHA之前向脚本添加了任何额外信息。

对于同一个脚本,脚本的SHA1总和将始终相同(您也可以在外部进行计算,例如使用
sha1sum
工具)。在单实例和集群模式下,无论脚本作为输入获取的键和参数的数量如何,这一点都是正确的