Redis Command Set¶
acl¶
acl cat¶
Syntax
Available since: Redis Open Source 6.0.0Time complexity: O(1) since the categories and commands are a fixed set.ACL categories: @slow
The command shows the available ACL categories if called without arguments. If a category name is given, the command shows all the Redis commands in the specified category.
ACL categories are very useful in order to create ACL rules that include or exclude a large set of commands at once, without specifying every single command. For instance, the following rule will let the user karin perform everything but the most dangerous operations that may affect the server stability:
We first add all the commands to the set of commands that karin is able to execute, but then we remove all the dangerous commands.
Checking for all the available categories is as simple as:
127.0.0.1:6379> acl cat
1) "keyspace"
2) "read"
3) "write"
4) "set"
5) "sortedset"
6) "list"
7) "hash"
8) "string"
9) "bitmap"
10) "hyperloglog"
11) "geo"
12) "stream"
13) "pubsub"
14) "admin"
15) "fast"
16) "slow"
17) "blocking"
18) "dangerous"
19) "connection"
20) "transaction"
21) "scripting"
when we may want to know what commands are part of a given category:
# 127.0.0.1:6379> ACL CAT dangerous
1) "restore-asking"
2) "flushdb"
3) "client|list"
4) "client|no-evict"
5) "client|kill"
6) "client|pause"
7) "client|unpause"
8) "client|unblock"
9) "pfdebug"
10) "restore"
11) "replconf"
12) "module|list"
13) "module|loadex"
14) "module|load"
15) "module|unload"
16) "shutdown"
17) "info"
18) "failover"
19) "bgrewriteaof"
20) "sync"
21) "lastsave"
22) "sort"
23) "slaveof"
24) "replicaof"
25) "acl|dryrun"
26) "acl|list"
27) "acl|save"
28) "acl|deluser"
29) "acl|setuser"
30) "acl|load"
31) "acl|log"
32) "acl|users"
33) "acl|getuser"
34) "latency|reset"
35) "latency|histogram"
36) "latency|graph"
37) "latency|doctor"
38) "latency|history"
39) "latency|latest"
40) "slowlog|reset"
41) "slowlog|len"
42) "slowlog|get"
43) "role"
44) "pfselftest"
45) "psync"
46) "save"
47) "swapdb"
48) "migrate"
49) "flushall"
50) "debug"
51) "sort_ro"
52) "monitor"
53) "config|rewrite"
54) "config|get"
55) "config|resetstat"
56) "config|set"
57) "keys"
58) "cluster|delslotsrange"
59) "cluster|meet"
60) "cluster|forget"
61) "cluster|setslot"
62) "cluster|addslotsrange"
63) "cluster|set-config-epoch"
64) "cluster|reset"
65) "cluster|replicate"
66) "cluster|addslots"
67) "cluster|failover"
68) "cluster|slaves"
69) "cluster|delslots"
70) "cluster|saveconfig"
71) "cluster|bumpepoch"
72) "cluster|count-failure-reports"
73) "cluster|flushslots"
74) "cluster|replicas"
75) "bgsave"
ACL DELUSER¶
Syntax
ACL DRYRUN¶
Syntax
ACL GENPASS¶
Syntax
ACL GETUSER¶
Syntax
Available since: Redis Open Source 6.0.0 Time complexity: O(N). Where N is the number of password, command and pattern rules that the user has. ACL categories: @admin, @slow, @dangerous
The command returns all the rules defined for an existing ACL user.
Specifically, it lists the user's ACL flags, password hashes, commands, key patterns, channel patterns (Added in version 6.2) and selectors (Added in version 7.0). Additional information may be returned in the future if more metadata is added to the user.
Command rules are always returned in the same format as the one used in the ACL SETUSER command. Before version 7.0, keys and channels were returned as an array of patterns, however in version 7.0 later they are now also returned in same format as the one used in the ACL SETUSER command. Note: This description of command rules reflects the user's effective permissions, so while it may not be identical to the set of rules used to configure the user, it is still functionally identical.
Selectors are listed in the order they were applied to the user, and include information about commands, key patterns, and channel patterns.
Examples
Here's an example configuration for a user
127.0.0.1:6379> ACL SETUSER sample on nopass +GET allkeys &* (+SET ~key2)
OK
127.0.0.1:6379> ACL GETUSER sample
1) "flags"
2) 1) "on"
2) "nopass"
3) "sanitize-payload"
3) "passwords"
4) (empty array)
5) "commands"
6) "-@all +get"
7) "keys"
8) "~*"
9) "channels"
10) "&*"
11) "selectors"
12) 1) 1) "commands"
2) "-@all +set"
3) "keys"
4) "~key2"
5) "channels"
6) ""
ACL HELP¶
Syntax
ACL LIST¶
Syntax
ACL LOAD¶
Syntax
ACL LOG¶
Syntax
ACL SAVE¶
Syntax
ACL SETUSER¶
Syntax
ACL USERS¶
Syntax
ACL WHOAMI¶
Syntax
APPEND¶
Syntax
ASKING¶
Syntax
AUTH¶
Syntax
BF¶
BF.ADD¶
Syntax
BF.CARD¶
Syntax
BF.EXISTS¶
Syntax
BF.INFO¶
Syntax
BF.LOADCHUNK¶
Syntax
BF.MADD¶
Syntax
BF.MEXISTS¶
Syntax
BF.RESERVE¶
Syntax
BF.SCANDUMP¶
Syntax
BGREWRITEAOF¶
Syntax
BGSAVE¶
Syntax
BITCOUNT¶
Syntax
BITFIELD¶
Syntax
BITFIELD_RO¶
Syntax
BITOP¶
Syntax
BITPOS¶
Syntax
BLMOVE¶
Syntax
BLMPOP¶
Syntax
BLPOP¶
Syntax
BRPOP¶
Syntax
BRPOPLPUSH¶
Syntax
BZMPOP¶
Syntax
BZPOPMAX¶
Syntax
BZPOPMIN¶
Syntax
CF.ADD¶
Syntax
CF.ADDNX¶
Syntax
CF.COUNT¶
Syntax
CF.DEL¶
Syntax
CF.EXISTS¶
Syntax
CF.INFO¶
Syntax
CF.INSERT¶
Syntax
CF.INSERTNX¶
Syntax
CF.LOADCHUNK¶
Syntax
CF.MEXISTS¶
Syntax
CF.RESERVE¶
Syntax
CF.SCANDUMP¶
Syntax
CLIENT¶
client caching¶
Syntax
client getname¶
Syntax
client getredir¶
Syntax
client help¶
Syntax
client id¶
Syntax
client info¶
Syntax
client kill¶
Syntax
client list¶
Syntax
client no-evict¶
Syntax
client no-touch¶
Syntax
client pause¶
Syntax
client reply¶
Syntax
client setinfo¶
Syntax
client setname¶
Syntax
client tracking¶
Syntax
client trackinginfo¶
Syntax
client unblock¶
Syntax
client unpause¶
Syntax
cluster¶
cluster addslots¶
Syntax
cluster addslotsrange¶
Syntax
cluster bumpepoch¶
Syntax
cluster count-failure-reports¶
Syntax
cluster countkeysinslot¶
Syntax
cluster delslots¶
Syntax
cluster delslotsrange¶
Syntax
cluster failover¶
Syntax
cluster flushslots¶
Syntax
cluster forget¶
Syntax
cluster getkeysinslot¶
Syntax
cluster getkeysinslot¶
Syntax
cluster help¶
Syntax
cluster info¶
Syntax
cluster kyslot¶
Syntax
cluster links¶
Syntax
cluster meet¶
Syntax
cluster myid¶
Syntax
cluster myshardid¶
Syntax
cluster nodes¶
Syntax
cluster replicas¶
Syntax
cluster replicate¶
Syntax
cluster reset¶
Syntax
cluster saveconfig¶
Syntax
cluster set-config-epoch¶
Syntax
cluster setslot¶
Syntax
cluster shards¶
Syntax
cluster slaves¶
Syntax
cluster slot-stats¶
Syntax
cluster slots¶
Syntax
CMS¶
CMS.incrby¶
Syntax
CMS.info¶
Syntax
CMS.initbydim¶
Syntax
CMS.initbyprob¶
Syntax
CMS.merge¶
Syntax
CMS.query¶
Syntax
command¶
command count¶
Syntax
command docs¶
Syntax
command getkeys¶
Syntax
command getkeysandflags¶
Syntax
command help¶
Syntax
command info¶
Syntax
command list¶
Syntax
config¶
config get¶
Syntax
config help¶
Syntax
config resetstat¶
Syntax
config rewrite¶
Syntax
config set¶
Syntax
Copy¶
Syntax
dbsize¶
Syntax
debug¶
Syntax
decr¶
Syntax
decrby¶
Syntax
del¶
Syntax
discard¶
Syntax
dump¶
Syntax
echo¶
Syntax
eval¶
Syntax
eval_ro¶
Syntax
evalsha¶
Syntax
evalsha_ro¶
Syntax
exec¶
Syntax
exists¶
Syntax
expire¶
Syntax
expireat¶
Syntax
exporetime¶
Syntax
failover¶
Syntax
fcall¶
Syntax
fcall_r0¶
Syntax
flushall¶
Syntax
flushdb¶
Syntax
FT¶
FT._list¶
Syntax
FT.aggregate¶
Syntax
FT.aliasadd¶
Syntax
FT.aliasdel¶
Syntax
FT.aliasupdate¶
Syntax
FT.alter¶
Syntax
FT.config get¶
Syntax
FT.config help¶
Syntax
FT.config set¶
Syntax
FT.create¶
Syntax
FT.cursor del¶
Syntax
FT.cursor read¶
Syntax
FT.dictadd¶
Syntax
FT.dictdel¶
Syntax
FT.dictdump¶
Syntax
FT.dropindex¶
Syntax
FT.explain¶
Syntax
FT.explaincli¶
Syntax
FT.info¶
Syntax
FT.profile¶
Syntax
FT.search¶
Syntax
FT.spellcheck¶
Syntax
FT.sugadd¶
Syntax
FT.sugdel¶
Syntax
FT.sugget¶
Syntax
FT.suglen¶
Syntax
FT.syndump¶
Syntax
FT.synupdate¶
Syntax
FT.tagvals¶
Syntax
function¶
function delete¶
Syntax
function dump¶
Syntax
function flush¶
Syntax
function help¶
Syntax
function kill¶
Syntax
function list¶
Syntax
function load¶
Syntax
function restore¶
Syntax
function stats¶
Syntax
geo¶
geoadd¶
Syntax
geodist¶
Syntax
geohash¶
Syntax
geopos¶
Syntax
georadius¶
Syntax
georadius_r0¶
Syntax
georadiusbymember¶
Syntax
georadiusbymember_r0¶
Syntax
geosearch¶
Syntax
geosearchstore¶
Syntax
get command¶
get¶
Syntax
getbit¶
Syntax
getdel¶
Syntax
getex¶
Syntax
getrange¶
Syntax
getset¶
Syntax
hdel¶
Syntax
hello¶
Syntax
hexists¶
Syntax
hexpire¶
Syntax
hexporeat¶
Syntax
hexporetime¶
Syntax
hget¶
Syntax
hgetall¶
Syntax
hgetdel¶
Syntax
hgetex¶
Syntax
hincrby¶
Syntax
hincrbyfloat¶
Syntax
hkeys¶
Syntax
hlen¶
Syntax
hmget¶
Syntax
hmset¶
Syntax
hpersist¶
Syntax
hpexpire¶
Syntax
hpexpireat¶
Syntax
hpexpiretime¶
Syntax
hpttl¶
Syntax
hrandfield¶
Syntax
hscan¶
Syntax
hset¶
Syntax
hsetex¶
Syntax
hsetnx¶
Syntax
hstrlen¶
Syntax
httl¶
Syntax
hvals¶
Syntax
incr¶
Syntax
incrby¶
Syntax
incrbyfloat¶
Syntax
info¶
Syntax
JSON¶
JSON.arrappend¶
Syntax
JSON.arrindex¶
Syntax
JSON.arrinsert¶
Syntax
JSON.arrlen¶
Syntax
JSON.arrpop¶
Syntax
JSON.arrtrim¶
Syntax
JSON.clear¶
Syntax
JSON.debug¶
Syntax
JSON.debug help¶
Syntax
JSON.debug memory¶
Syntax
JSON.del¶
Syntax
JSON.forget¶
Syntax
JSON.get¶
Syntax
JSON.merge¶
Syntax
JSON.mget¶
Syntax
JSON.mset¶
Syntax
JSON.numincrby¶
Syntax
JSON.nummultby¶
Syntax
JSON.objkeys¶
Syntax
JSON.objlen¶
Syntax
JSON.resp¶
Syntax
JSON.set¶
Syntax
JSON.strappend¶
Syntax
JSON.strlen¶
Syntax
JSON.toggle¶
Syntax
JSON.type¶
Syntax
keys¶
Syntax
lastsave¶
Syntax
latency¶
Syntax
latency doctor¶
Syntax
latency graph¶
Syntax
latency help¶
Syntax
latency histogram¶
Syntax
latency history¶
Syntax
latency latest¶
Syntax
latency reset¶
Syntax
lcs¶
Syntax
lindex¶
Syntax
linsert¶
Syntax
llen¶
Syntax
lmove¶
Syntax
lmpop¶
Syntax
lolwut¶
Syntax
lpop¶
Syntax
lpos¶
Syntax
lpush¶
Syntax
lpushx¶
Syntax
lrange¶
Syntax
lrem¶
Syntax
lset¶
Syntax
ltrim¶
Syntax
memory¶
memory doctor¶
Syntax
memory help¶
Syntax
memory malloc-stats¶
Syntax
memory purge¶
Syntax
memory stats¶
Syntax
memory usage¶
Syntax
mget¶
Syntax
migrate¶
Syntax
module¶
module help¶
Syntax
module list¶
Syntax
module load¶
Syntax
module loadex¶
Syntax
module unload¶
Syntax
monitor¶
Syntax
move¶
Syntax
mset¶
Syntax
msetnx¶
Syntax
multi¶
Syntax
object¶
object encoding¶
Syntax
object freq¶
Syntax
object help¶
Syntax
object idletime¶
Syntax
object refcount¶
Syntax
persist¶
Syntax
pexpire¶
Syntax
pexpireat¶
Syntax
pexpiretime¶
Syntax
pfadd¶
Syntax
pfcount¶
Syntax
pfdebug¶
Syntax
pfmerge¶
Syntax
pfselftest¶
Syntax
ping¶
Syntax
psetex¶
Syntax
psubscribe¶
Syntax
psync¶
Syntax
pttl¶
Syntax
publish¶
Syntax
pubsub¶
Syntax
pubsub chanbels¶
Syntax
pubsub help¶
Syntax
pubsub numpat¶
Syntax
pubsub numsub¶
Syntax
pubsub shardchannels¶
Syntax
pubsub shardnumsub¶
Syntax
punsubscribe¶
Syntax
quit¶
Syntax
randomkey¶
Syntax
readonly¶
Syntax
readwrite¶
Syntax
rename¶
Syntax
renamenx¶
Syntax
replconf¶
Syntax
replicaof¶
Syntax
reset¶
Syntax
restore¶
Syntax
restore-asking¶
Syntax
role¶
Syntax
rpop¶
Syntax
rpoplpush¶
Syntax
rpush¶
Syntax
rpushx¶
Syntax
sadd¶
Syntax
save¶
Syntax
scan¶
Syntax
scard¶
Syntax
script¶
Syntax
script debug¶
Syntax
script exists¶
Syntax
script flush¶
Syntax
script help¶
Syntax
script kill¶
Syntax
script load¶
Syntax
sdiff¶
Syntax
sdiffstore¶
Syntax
select¶
Syntax
set¶
Syntax
setbit¶
Syntax
setex¶
Syntax
setnx¶
Syntax
setrange¶
Syntax
shutdown¶
Syntax
sinter¶
Syntax
sintercard¶
Syntax
sinterstore¶
Syntax
sismember¶
Syntax
slaveof¶
Syntax
slowlog¶
Syntax
slowlog get¶
Syntax
slowlog help¶
Syntax
slowlog len¶
Syntax
slowlog reset¶
Syntax
smembers¶
Syntax
smismember¶
Syntax
smove¶
Syntax
sort¶
Syntax
sort_r0¶
Syntax
spop¶
Syntax
spublish¶
Syntax
srandmember¶
Syntax
srem¶
Syntax
sscan¶
Syntax
ssubscribe¶
Syntax
strlen¶
Syntax
subscribe¶
Syntax
substr¶
Syntax
sunion¶
Syntax
sunionstore¶
Syntax
sunsubscribe¶
Syntax
swapdb¶
Syntax
sync¶
Syntax
time¶
Syntax
touch¶
Syntax
ttl¶
Syntax
type¶
Syntax
unlink¶
Syntax
unsubscribe¶
Syntax
unwatch¶
Syntax
vadd¶
Syntax
vcard¶
Syntax
vdim¶
Syntax
vemb¶
Syntax
vgetattr¶
Syntax
vinfo¶
Syntax
vismember¶
Syntax
vlinks¶
Syntax
vrandmember¶
Syntax
vrem¶
Syntax
vsetattr¶
Syntax
vsim¶
Syntax
wait¶
Syntax
waitaof¶
Syntax
watch¶
Syntax
xack¶
Syntax
zadd¶
Syntax
zcard¶
Syntax
zcount¶
Syntax
zdiff¶
Syntax
zdiffstore¶
Syntax
zincrby¶
Syntax
zinter¶
Syntax
zintercard¶
Syntax
zinterstore¶
Syntax
zlexcount¶
Syntax
zmpop¶
Syntax
zmscore¶
Syntax
zpopmax¶
Syntax
zpopmin¶
Syntax
zrandmember¶
Syntax
zrange¶
Syntax
zrangebylex¶
Syntax
zrangebyscore¶
Syntax
zrangestore¶
Syntax
zrank¶
Syntax
zrem¶
Syntax
zremrangebylex¶
Syntax
zremrangebyrank¶
Syntax
zremrangebyscore¶
Syntax
zrevrange¶
Syntax
zrevrangebylex¶
Syntax
zrevrangebyscore¶
Syntax
zrevrank¶
Syntax
zscan¶
Syntax
zscore¶
Syntax
zunion¶
Syntax
zunionstore¶
Syntax