您是否需要在Redis脚本中提前声明密钥?

您是否需要在Redis脚本中提前声明密钥?,第1张

您是否需要在Redis脚本中提前声明密钥

由于文档中的含糊不清,这个问题被问了很多,但是我将借此机会尝试指定用于管理Redis脚本中键的使用的实际规则。

实际规则是这样的: 您的脚本只能访问驻留在单个服务器上的密钥,而Redis必须知道该服务器是什么,以便它可以将脚本路由到那里。

如果您不使用Redis Cluster,则将始终满足这些条件,因为只有一台服务器。

如果使用Redis Cluster,则必须至少指定一个密钥,并且脚本使用的所有密钥必须与指定的密钥位于同一服务器上。

因此,请回答您的问题:如果您不使用集群,您的脚本将可以正常工作。结果是,如果您以后切换到集群,它将无法正常工作,因为Redis不知道将脚本发送到哪里。

Redis也可能会更改为执行已记录的规则,从而使所有动态生成密钥的脚本无效。我认为这将是一个严重的错误,而且我认为这不会发生。但是,如果没有其他规定,则指定密钥对于文档很有用,因此,如果我碰巧事先知道密钥,我总是这样做。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4924351.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存