瀏覽代碼

Support for selecting the Redis logical database. (#15034)

Note that this is only used for key-value store (cached values)
and not for the pub/sub replication used by Synapse.
999lakhisidhu 1 年之前
父節點
當前提交
27a3a72a50

+ 1 - 0
changelog.d/15034.feature

@@ -0,0 +1 @@
+Allow Synapse to use a specific Redis [logical database](https://redis.io/commands/select/) in worker-mode deployments.

+ 1 - 0
contrib/docker_compose_workers/README.md

@@ -68,6 +68,7 @@ redis:
   enabled: true
   host: redis
   port: 6379
+  # dbid:  <redis_logical_db_id>
   # password: <secret_password>  
 ```
 

+ 4 - 0
docs/usage/configuration/config_documentation.md

@@ -3927,6 +3927,9 @@ This setting has the following sub-options:
 * `host` and `port`: Optional host and port to use to connect to redis. Defaults to
    localhost and 6379
 * `password`: Optional password if configured on the Redis instance.
+* `dbid`: Optional redis dbid if needs to connect to specific redis logical db.
+
+  _Added in Synapse 1.78.0._
 
 Example configuration:
 ```yaml
@@ -3935,6 +3938,7 @@ redis:
   host: localhost
   port: 6379
   password: <secret_password>
+  dbid: <dbid>
 ```
 ---
 ## Individual worker configuration

+ 1 - 0
synapse/config/redis.py

@@ -33,4 +33,5 @@ class RedisConfig(Config):
 
         self.redis_host = redis_config.get("host", "localhost")
         self.redis_port = redis_config.get("port", 6379)
+        self.redis_dbid = redis_config.get("dbid", None)
         self.redis_password = redis_config.get("password")

+ 1 - 0
synapse/server.py

@@ -827,6 +827,7 @@ class HomeServer(metaclass=abc.ABCMeta):
             hs=self,
             host=self.config.redis.redis_host,
             port=self.config.redis.redis_port,
+            dbid=self.config.redis.redis_dbid,
             password=self.config.redis.redis_password,
             reconnect=True,
         )