ACL CAT
语法
ACL CAT [category]
- 可用版本
- Redis Open Source 6.0.0
- 时间复杂度
- O(1),因为类别和命令是固定的集合。
- ACL 类别
-
@slow
,
如果调用时不带参数,该命令将显示可用的 ACL 类别。如果指定了类别名称,该命令将显示指定类别中的所有 Redis 命令。
ACL 类别对于创建一次性包含或排除大量命令而无需逐个指定命令的 ACL 规则非常有用。例如,以下规则将允许用户 karin
执行除可能影响服务器稳定性的最危险操作之外的所有操作
ACL SETUSER karin on +@all -@dangerous
我们首先将所有命令添加到 karin
可以执行的命令集合中,然后再移除所有危险命令。
检查所有可用类别非常简单,如下所示:
> 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"
22) "json"
23) "search"
24) "tdigest"
25) "cms"
26) "bloom"
27) "cuckoo"
28) "topk"
29) "timeseries"
然后,我们可能想知道哪些命令属于给定类别:
> ACL CAT dangerous
1) "flushdb"
2) "acl"
3) "slowlog"
4) "debug"
5) "role"
6) "keys"
7) "pfselftest"
8) "client"
9) "bgrewriteaof"
10) "replicaof"
11) "monitor"
12) "restore-asking"
13) "latency"
14) "replconf"
15) "pfdebug"
16) "bgsave"
17) "sync"
18) "config"
19) "flushall"
20) "cluster"
21) "info"
22) "lastsave"
23) "slaveof"
24) "swapdb"
25) "module"
26) "restore"
27) "migrate"
28) "save"
29) "shutdown"
30) "psync"
31) "sort"
RESP2/RESP3 回复
以下之一:
- 数组回复:包含表示 ACL 类别或给定类别中命令的Bulk string 回复元素的数组。
- 简单错误回复:如果提供了无效的类别名称,该命令将返回错误。