跳转至

Redis Command Set

acl

acl cat

Syntax

ACL CAT [category]
  • Available since: Redis Open Source 6.0.0
  • Time 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:

127.0.0.1:6379> acl setuser remark on +@all -@dangerous

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

ACL GETUSER username

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


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


Syntax


unsubscribe

Syntax


unwatch

Syntax


vadd

Syntax


vcard

Syntax


vdim

Syntax


vemb

Syntax


vgetattr

Syntax


vinfo

Syntax


vismember

Syntax


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