我在群集数据库上(本地)使用Redis。我正在尝试MULTI命令,但似乎不起作用。各个命令起作用,我可以看到分片如何移动。

为了使MULTI有效,我还应该做些其他事情吗?该文档尚不清楚它是否应该工作。 https://redis.io/topics/cluster-spec

在下面的示例中,我只设置了各个键(请注意port = cluster的更改方式),然后尝试使用multi命令。该命令在调用EXEC之前执行

127.0.0.1:30001> set a 1
-> Redirected to slot [15495] located at 127.0.0.1:30003
OK
127.0.0.1:30003> set b 2
-> Redirected to slot [3300] located at 127.0.0.1:30001
OK
127.0.0.1:30001> MULTI
OK
127.0.0.1:30001> HSET c f val
-> Redirected to slot [7365] located at 127.0.0.1:30002
(integer) 1
127.0.0.1:30002> HSET c f2 val2
(integer) 1
127.0.0.1:30002> EXEC
(error) ERR EXEC without MULTI
127.0.0.1:30002> HGET c f
"val"
127.0.0.1:30002>

最佳答案

MULTI事务以及任何多键操作仅在群集Redis部署中的单个哈希槽中受支持。

关于redis - MULTI应该在Redis集群上工作吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60642208/

10-15 09:56