Skip to content

Commit bb0a431

Browse files
committed
Added RedisCluster specific options to the README file and updated CHANGES
1 parent da106cf commit bb0a431

File tree

2 files changed

+51
-1
lines changed

2 files changed

+51
-1
lines changed

CHANGES

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
* Fix broken connection writer lock-up for asyncio (#2065)
1212
* Fix auth bug when provided with no username (#2086)
1313
* Fix missing ClusterPipeline._lock (#2189)
14-
14+
* Added dynaminc_startup_nodes configuration to RedisCluster
1515
* 4.1.3 (Feb 8, 2022)
1616
* Fix flushdb and flushall (#1926)
1717
* Add redis5 and redis4 dockers (#1871)

README.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1006,6 +1006,7 @@ a slots cache which maps each of the 16384 slots to the node/s handling them,
10061006
a nodes cache that contains ClusterNode objects (name, host, port, redis connection)
10071007
for all of the cluster's nodes, and a commands cache contains all the server
10081008
supported commands that were retrieved using the Redis 'COMMAND' output.
1009+
See *RedisCluster specific options* below for more.
10091010

10101011
RedisCluster instance can be directly used to execute Redis commands. When a
10111012
command is being executed through the cluster instance, the target node(s) will
@@ -1245,6 +1246,55 @@ The following commands are not supported:
12451246

12461247
Using scripting within pipelines in cluster mode is **not supported**.
12471248

1249+
1250+
**RedisCluster specific options**
1251+
1252+
require_full_coverage: (default=False)
1253+
1254+
When set to False (default value): the client will not require a
1255+
full coverage of the slots. However, if not all slots are covered,
1256+
and at least one node has 'cluster-require-full-coverage' set to
1257+
'yes,' the server will throw a ClusterDownError for some key-based
1258+
commands. See -
1259+
https://redis.io/topics/cluster-tutorial#redis-cluster-configuration-parameters
1260+
When set to True: all slots must be covered to construct the
1261+
cluster client. If not all slots are covered, RedisClusterException
1262+
will be thrown.
1263+
1264+
read_from_replicas: (default=False)
1265+
1266+
Enable read from replicas in READONLY mode. You can read possibly
1267+
stale data.
1268+
When set to true, read commands will be assigned between the
1269+
primary and its replications in a Round-Robin manner.
1270+
1271+
dynamic_startup_nodes: (default=False)
1272+
1273+
Set the RedisCluster's startup nodes to all of the discovered nodes.
1274+
If true, the cluster's discovered nodes will be used to determine the
1275+
cluster nodes-slots mapping in the next topology refresh.
1276+
It will remove the initial passed startup nodes if their endpoints aren't
1277+
listed in the CLUSTER SLOTS output.
1278+
If you use dynamic DNS endpoints for startup nodes but CLUSTER SLOTS lists
1279+
specific IP addresses, keep it at false.
1280+
1281+
cluster_error_retry_attempts: (default=3)
1282+
1283+
Retry command execution attempts when encountering ClusterDownError
1284+
or ConnectionError
1285+
1286+
reinitialize_steps: (default=10)
1287+
1288+
Specifies the number of MOVED errors that need to occur before
1289+
reinitializing the whole cluster topology. If a MOVED error occurs
1290+
and the cluster does not need to be reinitialized on this current
1291+
error handling, only the MOVED slot will be patched with the
1292+
redirected node.
1293+
To reinitialize the cluster on every MOVED error, set
1294+
reinitialize_steps to 1.
1295+
To avoid reinitializing the cluster on moved errors, set
1296+
reinitialize_steps to 0.
1297+
12481298
### Author
12491299

12501300
redis-py is developed and maintained by [Redis Inc](https://redis.com). It can be found [here](

0 commit comments

Comments
 (0)