Redis禁止因为写操作中的可复制性。
脚本的SHA1校验和应该描述Lua脚本所做的所有。
当脚本以及数据被复制并在Redis从站上执行时,结果应该完全相同。
因此,具有随机性质的功能(如rand
或time
)将从写入操作中排除。
为什么{1}}和eval
也被禁止阅读脚本,这可能是因为它使得#is-write-script'分析不可能或至少很麻烦。
有关如何解决此问题的可能解决方案,请参阅this发布。
我们在连接到不同的redis服务器时使用此SHA1响应值环回机制,请参阅此diagram。
希望这有帮助,TW