首页 > 解决方案 > MULTI 应该在 Redis 集群上工作吗?

问题描述

我在集群数据库(本地)上使用 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> 

标签: redisredis-cluster

解决方案


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


推荐阅读