Documentation声明必须显式传递密钥,因此如果使用redis cluster,则可以将命令转发到相应的节点。
但是,这是否也适用于新密钥?例如,如果我有一个脚本来注册一个新的实体,而这样的脚本正在动态地创建一个由incr和literal的结果组成的全新的键,那么redis cluster会有问题吗?
另一种方法是在单独的操作中调用incr并将密钥作为密钥[1]传递给脚本。

最佳答案

如果你小心地确保你的新密钥和其他密钥被散列到同一个服务器上,我想你会没事的。
也就是说,cluster的重要之处不仅仅是预先声明密钥,而是确保脚本操作的所有密钥都位于同一服务器上。您可以使用hash tags来使用钥匙。如果你构造新的密钥的方式使它与其他密钥散列到同一个槽中,我认为它会工作得很好。

关于lua - 在EVALSHA中生成新 key ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38720084/

10-15 08:02