doc: 阅读redis multi-key operations的文档

This commit is contained in:
asahi
2025-09-30 15:06:56 +08:00
parent 6e02856586
commit 964cd99e7a

View File

@@ -224,6 +224,7 @@
- [ASK redirection](#ask-redirection) - [ASK redirection](#ask-redirection)
- [Client connections and redirection handling](#client-connections-and-redirection-handling) - [Client connections and redirection handling](#client-connections-and-redirection-handling)
- [CLUSTER SLOTS](#cluster-slots) - [CLUSTER SLOTS](#cluster-slots)
- [Multi-keys operations](#multi-keys-operations)
# redis # redis
@@ -3574,6 +3575,14 @@ client可以发送`CLUSTER SLOTS`命令来获取`an array of slot ranges and ass
当slot发现为unassigned时在向调用方返回异常之前client会尝试拉取slots configuration并且校验cluster当前是否被正确配置。 当slot发现为unassigned时在向调用方返回异常之前client会尝试拉取slots configuration并且校验cluster当前是否被正确配置。
#### Multi-keys operations
在使用`hash tags`时client可以在集群访问下进行multi-key operations示例如下
```redis-cli
MSET {user:1000}.name Angela {user:1000}.surname White
```
但是在key所属的slot正在进行`resharding`时,`multi-key` operations有可能无法被执行
- 当resharding过程中对于`multi-key operations`如果targeting keys都存在并且被hash到相同的slot中都位于source或destination node`那么该multi-keys operation是可执行的
- `如果targeting keys不存在或者在resharding过程中在source node和destination node中都存在`,那么将会发生一个`TRYAGAIN` errorclient可以在后续对该操作进行重试或报告该error
当指定hash slots的迁移完成后关于该hash slot所有的`multi-key operations`都允许被执行。