Skip to content

Commit 46ff042

Browse files
committed
Expand cluster READ_COMMANDS with additional read-only commands and reorganize the list of commands by category (#3845)
* Updating the list with commands allowed to be sent to the read-only cluster replica nodes * Applying review comment
1 parent dc47675 commit 46ff042

File tree

1 file changed

+75
-12
lines changed

1 file changed

+75
-12
lines changed

redis/commands/cluster.py

Lines changed: 75 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -51,20 +51,40 @@
5151
# https://redis.io/commands
5252
READ_COMMANDS = frozenset(
5353
[
54+
# Bit Operations
5455
"BITCOUNT",
56+
"BITFIELD_RO",
5557
"BITPOS",
58+
# Scripting
5659
"EVAL_RO",
5760
"EVALSHA_RO",
58-
"EXISTS",
59-
"GEODIST",
60-
"GEOHASH",
61-
"GEOPOS",
62-
"GEORADIUS",
63-
"GEORADIUSBYMEMBER",
61+
"FCALL_RO",
62+
# Key Operations
63+
"DBSIZE",
6464
"DIGEST",
65+
"DUMP",
66+
"EXISTS",
67+
"EXPIRETIME",
68+
"PEXPIRETIME",
69+
"KEYS",
70+
"SCAN",
71+
"PTTL",
72+
"RANDOMKEY",
73+
"TTL",
74+
"TYPE",
75+
# String Operations
6576
"GET",
6677
"GETBIT",
6778
"GETRANGE",
79+
"MGET",
80+
"STRLEN",
81+
"LCS",
82+
# Geo Operations
83+
"GEODIST",
84+
"GEOHASH",
85+
"GEOPOS",
86+
"GEOSEARCH",
87+
# Hash Operations
6888
"HEXISTS",
6989
"HGET",
7090
"HGETALL",
@@ -73,26 +93,69 @@
7393
"HMGET",
7494
"HSTRLEN",
7595
"HVALS",
76-
"KEYS",
96+
"HRANDFIELD",
97+
"HEXPIRETIME",
98+
"HPEXPIRETIME",
99+
"HTTL",
100+
"HPTTL",
101+
"HSCAN",
102+
# List Operations
77103
"LINDEX",
104+
"LPOS",
78105
"LLEN",
79106
"LRANGE",
80-
"MGET",
81-
"PTTL",
82-
"RANDOMKEY",
107+
# Set Operations
83108
"SCARD",
84109
"SDIFF",
85110
"SINTER",
111+
"SINTERCARD",
86112
"SISMEMBER",
113+
"SMISMEMBER",
87114
"SMEMBERS",
88115
"SRANDMEMBER",
89-
"STRLEN",
90116
"SUNION",
91-
"TTL",
117+
"SSCAN",
118+
# Sorted Set Operations
92119
"ZCARD",
93120
"ZCOUNT",
121+
"ZDIFF",
122+
"ZINTER",
123+
"ZINTERCARD",
124+
"ZLEXCOUNT",
125+
"ZMSCORE",
126+
"ZRANDMEMBER",
94127
"ZRANGE",
128+
"ZRANGEBYLEX",
129+
"ZRANGEBYSCORE",
130+
"ZRANK",
131+
"ZREVRANGE",
132+
"ZREVRANGEBYLEX",
133+
"ZREVRANGEBYSCORE",
134+
"ZREVRANK",
135+
"ZSCAN",
95136
"ZSCORE",
137+
"ZUNION",
138+
# Stream Operations
139+
"XLEN",
140+
"XPENDING",
141+
"XRANGE",
142+
"XREAD",
143+
"XREVRANGE",
144+
# JSON Module
145+
"JSON.ARRINDEX",
146+
"JSON.ARRLEN",
147+
"JSON.GET",
148+
"JSON.MGET",
149+
"JSON.OBJKEYS",
150+
"JSON.OBJLEN",
151+
"JSON.RESP",
152+
"JSON.STRLEN",
153+
"JSON.TYPE",
154+
# RediSearch Module
155+
"FT.EXPLAIN",
156+
"FT.INFO",
157+
"FT.PROFILE",
158+
"FT.SEARCH",
96159
]
97160
)
98161

0 commit comments

Comments
 (0)