summaryrefslogtreecommitdiff
path: root/doc/development/redis.md
diff options
context:
space:
mode:
Diffstat (limited to 'doc/development/redis.md')
-rw-r--r--doc/development/redis.md7
1 files changed, 7 insertions, 0 deletions
diff --git a/doc/development/redis.md b/doc/development/redis.md
index 6782ea96448..693b9e1ad0d 100644
--- a/doc/development/redis.md
+++ b/doc/development/redis.md
@@ -33,6 +33,8 @@ stop being consulted if the project is renamed. If the contents of the key are
invalidated by a name change, it is better to include a hook that will expire
the entry, instead of relying on the key changing.
+### Multi-key commands
+
We don't use [Redis Cluster](https://redis.io/topics/cluster-tutorial) at the
moment, but may wish to in the future: [#118820](https://gitlab.com/gitlab-org/gitlab/-/issues/118820).
@@ -41,3 +43,8 @@ operations that require several keys to be held on the same Redis server - for
instance, diffing two sets held in Redis - the keys should ensure that by
enclosing the changeable parts in curly braces, such as, `project:{1}:set_a` and
`project:{1}:set_b`.
+
+Currently, we validate this in the development and test environments
+with the [`RedisClusterValidator`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/instrumentation/redis_cluster_validator.rb),
+which is enabled for the `cache` and `shared_state`
+[Redis instances](https://docs.gitlab.com/omnibus/settings/redis.html#running-with-multiple-redis-instances)..