summaryrefslogtreecommitdiffstats
path: root/iredis/data/commands/cluster-keyslot.md
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2020-03-21 10:28:17 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2021-02-07 11:16:53 +0000
commit06cba6ccd165ca8b224797e37fccb9e63f026d77 (patch)
treee82f1bc439997ae296f2e74f8a64d84c5d95f140 /iredis/data/commands/cluster-keyslot.md
parentInitial commit. (diff)
downloadiredis-06cba6ccd165ca8b224797e37fccb9e63f026d77.tar.xz
iredis-06cba6ccd165ca8b224797e37fccb9e63f026d77.zip
Adding upstream version 1.9.1.upstream/1.9.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'iredis/data/commands/cluster-keyslot.md')
-rw-r--r--iredis/data/commands/cluster-keyslot.md32
1 files changed, 32 insertions, 0 deletions
diff --git a/iredis/data/commands/cluster-keyslot.md b/iredis/data/commands/cluster-keyslot.md
new file mode 100644
index 0000000..5f08e79
--- /dev/null
+++ b/iredis/data/commands/cluster-keyslot.md
@@ -0,0 +1,32 @@
+Returns an integer identifying the hash slot the specified key hashes to. This
+command is mainly useful for debugging and testing, since it exposes via an API
+the underlying Redis implementation of the hashing algorithm. Example use cases
+for this command:
+
+1. Client libraries may use Redis in order to test their own hashing algorithm,
+ generating random keys and hashing them with both their local implementation
+ and using Redis `CLUSTER KEYSLOT` command, then checking if the result is the
+ same.
+2. Humans may use this command in order to check what is the hash slot, and then
+ the associated Redis Cluster node, responsible for a given key.
+
+## Example
+
+```
+> CLUSTER KEYSLOT somekey
+11058
+> CLUSTER KEYSLOT foo{hash_tag}
+(integer) 2515
+> CLUSTER KEYSLOT bar{hash_tag}
+(integer) 2515
+```
+
+Note that the command implements the full hashing algorithm, including support
+for **hash tags**, that is the special property of Redis Cluster key hashing
+algorithm, of hashing just what is between `{` and `}` if such a pattern is
+found inside the key name, in order to force multiple keys to be handled by the
+same node.
+
+@return
+
+@integer-reply: The hash slot number.