【发布时间】:2022-02-14 19:26:17
【问题描述】:
我已经在 lua 服务器上加载了一个脚本,并且多个客户端可以使用加载生成的 SHA 执行该脚本。我知道 lua 脚本执行在 Redis 中是原子的。但是如果多个客户端同时执行相同的 lua 脚本,每个 EVALSHA 调用是否仍然是原子的,或者一个客户端可能会在另一个客户端的调用之间中断?这种执行是否会在 Redis 的 FCFS 基础上进行?
【问题讨论】:
我已经在 lua 服务器上加载了一个脚本,并且多个客户端可以使用加载生成的 SHA 执行该脚本。我知道 lua 脚本执行在 Redis 中是原子的。但是如果多个客户端同时执行相同的 lua 脚本,每个 EVALSHA 调用是否仍然是原子的,或者一个客户端可能会在另一个客户端的调用之间中断?这种执行是否会在 Redis 的 FCFS 基础上进行?
【问题讨论】:
如果多个客户端同时执行相同的 lua 脚本,每个 EVALSHA 调用仍然是原子的吗?
是的。
如果多个客户端同时执行相同的 lua 脚本,一个客户端可以在调用另一个客户端之间中断吗?
没有。
注意:可以通过SCRIPT KILL命令中断。
此执行是否会在 Redis 上基于 FCFS?
是的。
【讨论】: