lua - 为什么redis无法在lua脚本中执行非确定性命令

标签 lua redis

lua中不允许执行SPOP。如果你先执行一些非确定性命令,那么你就不允许执行写命令。这对我来说似乎很困惑。那么为什么redis会有这样的限制呢?

最佳答案

Redis 文档 here 对此进行了很好的解释.

通过发送脚本并在从站上运行脚本来将脚本复制到从站,因此脚本每次运行时都需要始终产生相同的结果,否则从站上的数据将与主站上的数据不同。

如果您需要在脚本中执行不确定性操作,您可以在同一链接中尝试新的“脚本效果复制”。

关于lua - 为什么redis无法在lua脚本中执行非确定性命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40013598/

相关文章:

sockets - Lua socket.http sink 参数

scala - 关闭时如何替换nutcracker.yml中的master(twemproxy,redis)?

php - 尝试发布到 Laravel 上的 Redis 时,在 null 上调用成员函数publish()

lua - 具有限制的 Redis INCRBY

RedisSystemException : java. lang.ClassCastException : [B cannot be cast to java. lang.Long

python - 脚本语言

javascript日期到lua日期

在浏览器中执行脚本语言的 JavaScript 库

redis - 如何使用Redis存储投票数据

python - 在 PyTorch 中加载 Torch7 训练模型 (.t7)