diff --git a/content/commands/acl-cat/index.md b/content/commands/acl-cat/index.md index 78711b8739..048968face 100644 --- a/content/commands/acl-cat/index.md +++ b/content/commands/acl-cat/index.md @@ -72,6 +72,14 @@ Checking for all the available categories is as simple as: 19) "connection" 20) "transaction" 21) "scripting" +22) "json" +23) "search" +24) "tdigest" +25) "cms" +26) "bloom" +27) "cuckoo" +28) "topk" +29) "timeseries" ``` Then we may want to know what commands are part of a given category: diff --git a/content/commands/bf.add/index.md b/content/commands/bf.add/index.md index 35917fbf31..92a95edcba 100644 --- a/content/commands/bf.add/index.md +++ b/content/commands/bf.add/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@bloom' +- '@write' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/bf.card/index.md b/content/commands/bf.card/index.md index b1f6c77814..91ef5478cc 100644 --- a/content/commands/bf.card/index.md +++ b/content/commands/bf.card/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@bloom' +- '@read' +- '@fast' arguments: - name: key type: key diff --git a/content/commands/bf.exists/index.md b/content/commands/bf.exists/index.md index 0dda1a8a69..d7ae2fc8a9 100644 --- a/content/commands/bf.exists/index.md +++ b/content/commands/bf.exists/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@bloom' +- '@read' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/bf.info/index.md b/content/commands/bf.info/index.md index feccbb3717..83db39b374 100644 --- a/content/commands/bf.info/index.md +++ b/content/commands/bf.info/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@bloom' +- '@read' +- '@fast' arguments: - name: key type: key diff --git a/content/commands/bf.insert/index.md b/content/commands/bf.insert/index.md index 68cbd56ad9..27eff4b5c4 100644 --- a/content/commands/bf.insert/index.md +++ b/content/commands/bf.insert/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@bloom' +- '@write' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/bf.loadchunk/index.md b/content/commands/bf.loadchunk/index.md index 105b684e45..f6c95932c3 100644 --- a/content/commands/bf.loadchunk/index.md +++ b/content/commands/bf.loadchunk/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@bloom' +- '@write' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/bf.madd/index.md b/content/commands/bf.madd/index.md index 242d504f1d..cb922d223f 100644 --- a/content/commands/bf.madd/index.md +++ b/content/commands/bf.madd/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@bloom' +- '@write' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/bf.mexists/index.md b/content/commands/bf.mexists/index.md index 34ba5597cc..3190015a83 100644 --- a/content/commands/bf.mexists/index.md +++ b/content/commands/bf.mexists/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@bloom' +- '@read' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/bf.reserve/index.md b/content/commands/bf.reserve/index.md index 37836b6d60..1585623dd9 100644 --- a/content/commands/bf.reserve/index.md +++ b/content/commands/bf.reserve/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@bloom' +- '@write' +- '@fast' arguments: - name: key type: key diff --git a/content/commands/bf.scandump/index.md b/content/commands/bf.scandump/index.md index 86d48656a5..9b3d88ee33 100644 --- a/content/commands/bf.scandump/index.md +++ b/content/commands/bf.scandump/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@bloom' +- '@write' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/cf.add/index.md b/content/commands/cf.add/index.md index 69c1a38843..c1e3f3b1b8 100644 --- a/content/commands/cf.add/index.md +++ b/content/commands/cf.add/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@cuckoo' +- '@write' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/cf.addnx/index.md b/content/commands/cf.addnx/index.md index 6c2264016a..4695727c6f 100644 --- a/content/commands/cf.addnx/index.md +++ b/content/commands/cf.addnx/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@cuckoo' +- '@write' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/cf.count/index.md b/content/commands/cf.count/index.md index b9a4e73257..c29d2633eb 100644 --- a/content/commands/cf.count/index.md +++ b/content/commands/cf.count/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@cuckoo' +- '@read' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/cf.del/index.md b/content/commands/cf.del/index.md index e39b6eb25c..696326edcd 100644 --- a/content/commands/cf.del/index.md +++ b/content/commands/cf.del/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@cuckoo' +- '@write' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/cf.exists/index.md b/content/commands/cf.exists/index.md index 802a5af3b5..06195d819d 100644 --- a/content/commands/cf.exists/index.md +++ b/content/commands/cf.exists/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@cuckoo' +- '@read' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/cf.info/index.md b/content/commands/cf.info/index.md index 804060b990..e52d7eb626 100644 --- a/content/commands/cf.info/index.md +++ b/content/commands/cf.info/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@cuckoo' +- '@read' +- '@fast' arguments: - name: key type: key diff --git a/content/commands/cf.insert/index.md b/content/commands/cf.insert/index.md index e9295256b6..dd98c5125b 100644 --- a/content/commands/cf.insert/index.md +++ b/content/commands/cf.insert/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@cuckoo' +- '@write' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/cf.insertnx/index.md b/content/commands/cf.insertnx/index.md index 3d8d9e6f0a..ab7d045c86 100644 --- a/content/commands/cf.insertnx/index.md +++ b/content/commands/cf.insertnx/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@cuckoo' +- '@write' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/cf.loadchunk/index.md b/content/commands/cf.loadchunk/index.md index d9084ab579..c78a2a7000 100644 --- a/content/commands/cf.loadchunk/index.md +++ b/content/commands/cf.loadchunk/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@cuckoo' +- '@write' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/cf.mexists/index.md b/content/commands/cf.mexists/index.md index 8a3920c682..3744463229 100644 --- a/content/commands/cf.mexists/index.md +++ b/content/commands/cf.mexists/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@cuckoo' +- '@read' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/cf.reserve/index.md b/content/commands/cf.reserve/index.md index bbeeca3abb..31ded4178e 100644 --- a/content/commands/cf.reserve/index.md +++ b/content/commands/cf.reserve/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@cuckoo' +- '@write' +- '@fast' arguments: - name: key type: key diff --git a/content/commands/cf.scandump/index.md b/content/commands/cf.scandump/index.md index d53f24d372..2c6b37be49 100644 --- a/content/commands/cf.scandump/index.md +++ b/content/commands/cf.scandump/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@cuckoo' +- '@write' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/cms.incrby/index.md b/content/commands/cms.incrby/index.md index 07cf7ac8c7..f62c0e81f1 100644 --- a/content/commands/cms.incrby/index.md +++ b/content/commands/cms.incrby/index.md @@ -1,4 +1,7 @@ --- +acl_categories: +- '@cms' +- '@write' arguments: - name: key type: key diff --git a/content/commands/cms.info/index.md b/content/commands/cms.info/index.md index baee931a51..bd08c54786 100644 --- a/content/commands/cms.info/index.md +++ b/content/commands/cms.info/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@cms' +- '@read' +- '@fast' arguments: - name: key type: key diff --git a/content/commands/cms.initbydim/index.md b/content/commands/cms.initbydim/index.md index 1a15d963e0..dc847824e3 100644 --- a/content/commands/cms.initbydim/index.md +++ b/content/commands/cms.initbydim/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@cms' +- '@write' +- '@fast' arguments: - name: key type: key diff --git a/content/commands/cms.initbyprob/index.md b/content/commands/cms.initbyprob/index.md index 3e5c74fe5b..8e4fda5723 100644 --- a/content/commands/cms.initbyprob/index.md +++ b/content/commands/cms.initbyprob/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@cms' +- '@write' +- '@fast' arguments: - name: key type: key diff --git a/content/commands/cms.merge/index.md b/content/commands/cms.merge/index.md index 9080e05e0f..44cf69b154 100644 --- a/content/commands/cms.merge/index.md +++ b/content/commands/cms.merge/index.md @@ -1,4 +1,7 @@ --- +acl_categories: +- '@cms' +- '@write' arguments: - name: destination type: key diff --git a/content/commands/cms.query/index.md b/content/commands/cms.query/index.md index 499a67e06b..7a5a36746b 100644 --- a/content/commands/cms.query/index.md +++ b/content/commands/cms.query/index.md @@ -1,4 +1,7 @@ --- +acl_categories: +- '@cms' +- '@read' arguments: - name: key type: key diff --git a/content/commands/ft._list/index.md b/content/commands/ft._list/index.md index e1d3ad4c60..8bfc8ff131 100644 --- a/content/commands/ft._list/index.md +++ b/content/commands/ft._list/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@search' +- '@admin' +- '@slow' categories: - docs - develop diff --git a/content/commands/ft.aggregate/index.md b/content/commands/ft.aggregate/index.md index 87cbc7a5db..4a44fa3d84 100644 --- a/content/commands/ft.aggregate/index.md +++ b/content/commands/ft.aggregate/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@search' +- '@read' +- '@fast' arguments: - name: index type: string @@ -196,7 +200,11 @@ syntax_str: "query [VERBATIM] [LOAD\_count field [field ...]] [TIMEOUT\_timeout] title: FT.AGGREGATE --- -Run a search query on an index, and perform aggregate transformations on the results, extracting statistics etc from them +Run a search query on an index and perform aggregate transformations on the results. + +{{< note >}} +This command will only return keys to which the user has read access. +{{< /note >}} [Examples](#examples) diff --git a/content/commands/ft.aliasadd/index.md b/content/commands/ft.aliasadd/index.md index 0f07d30888..41d860d361 100644 --- a/content/commands/ft.aliasadd/index.md +++ b/content/commands/ft.aliasadd/index.md @@ -1,4 +1,7 @@ --- +acl_categories: +- '@search' +- '@fast' arguments: - name: alias type: string diff --git a/content/commands/ft.aliasdel/index.md b/content/commands/ft.aliasdel/index.md index bc24c5e871..c7c19bb6c9 100644 --- a/content/commands/ft.aliasdel/index.md +++ b/content/commands/ft.aliasdel/index.md @@ -1,4 +1,7 @@ --- +acl_categories: +- '@search' +- '@fast' arguments: - name: alias type: string diff --git a/content/commands/ft.aliasupdate/index.md b/content/commands/ft.aliasupdate/index.md index 7b747fc18f..cfc3ad044a 100644 --- a/content/commands/ft.aliasupdate/index.md +++ b/content/commands/ft.aliasupdate/index.md @@ -1,4 +1,7 @@ --- +acl_categories: +- '@search' +- '@fast' arguments: - name: alias type: string diff --git a/content/commands/ft.alter/index.md b/content/commands/ft.alter/index.md index 4a9dc9843d..dc7ddcbefa 100644 --- a/content/commands/ft.alter/index.md +++ b/content/commands/ft.alter/index.md @@ -1,4 +1,7 @@ --- +acl_categories: +- '@search' +- '@slow' arguments: - name: index type: string diff --git a/content/commands/ft.config-get/index.md b/content/commands/ft.config-get/index.md index f000e44b4e..e509ada627 100644 --- a/content/commands/ft.config-get/index.md +++ b/content/commands/ft.config-get/index.md @@ -1,4 +1,6 @@ --- +acl_categories: +- '@search' arguments: - name: option type: string diff --git a/content/commands/ft.config-help/index.md b/content/commands/ft.config-help/index.md index 0ad6f7c7b0..67dda6a94a 100644 --- a/content/commands/ft.config-help/index.md +++ b/content/commands/ft.config-help/index.md @@ -1,4 +1,6 @@ --- +acl_categories: +- '@search' arguments: - name: option type: string diff --git a/content/commands/ft.config-set/index.md b/content/commands/ft.config-set/index.md index 4c100b117b..47b422469a 100644 --- a/content/commands/ft.config-set/index.md +++ b/content/commands/ft.config-set/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@search' +- '@admin' +- '@fast' arguments: - name: option type: string diff --git a/content/commands/ft.create/index.md b/content/commands/ft.create/index.md index 574a520376..3289a9b354 100644 --- a/content/commands/ft.create/index.md +++ b/content/commands/ft.create/index.md @@ -1,4 +1,7 @@ --- +acl_categories: +- '@search' +- '@slow' arguments: - name: index type: string diff --git a/content/commands/ft.cursor-del/index.md b/content/commands/ft.cursor-del/index.md index 39a0c66000..cfa2b41594 100644 --- a/content/commands/ft.cursor-del/index.md +++ b/content/commands/ft.cursor-del/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@search' +- '@read' +- '@fast' arguments: - name: index type: string diff --git a/content/commands/ft.cursor-read/index.md b/content/commands/ft.cursor-read/index.md index d7e1894ae8..a7842a16fe 100644 --- a/content/commands/ft.cursor-read/index.md +++ b/content/commands/ft.cursor-read/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@search' +- '@read' +- '@fast' arguments: - name: index type: string diff --git a/content/commands/ft.dictadd/index.md b/content/commands/ft.dictadd/index.md index ac376b8718..e28b20f3fe 100644 --- a/content/commands/ft.dictadd/index.md +++ b/content/commands/ft.dictadd/index.md @@ -1,4 +1,7 @@ --- +acl_categories: +- '@search' +- '@fast' arguments: - name: dict type: string diff --git a/content/commands/ft.dictdel/index.md b/content/commands/ft.dictdel/index.md index e28f502c2a..5f5b8ddc52 100644 --- a/content/commands/ft.dictdel/index.md +++ b/content/commands/ft.dictdel/index.md @@ -1,4 +1,7 @@ --- +acl_categories: +- '@search' +- '@fast' arguments: - name: dict type: string diff --git a/content/commands/ft.dictdump/index.md b/content/commands/ft.dictdump/index.md index 2e0717029d..7b3b569a44 100644 --- a/content/commands/ft.dictdump/index.md +++ b/content/commands/ft.dictdump/index.md @@ -1,4 +1,7 @@ --- +acl_categories: +- '@search' +- '@slow' arguments: - name: dict type: string diff --git a/content/commands/ft.dropindex/index.md b/content/commands/ft.dropindex/index.md index 20669b78e7..94e1effebf 100644 --- a/content/commands/ft.dropindex/index.md +++ b/content/commands/ft.dropindex/index.md @@ -1,4 +1,9 @@ --- +acl_categories: +- '@search' +- '@write' +- '@dangerous' +- '@slow' arguments: - name: index type: string diff --git a/content/commands/ft.explain/index.md b/content/commands/ft.explain/index.md index 334c3ab648..9e9fee2038 100644 --- a/content/commands/ft.explain/index.md +++ b/content/commands/ft.explain/index.md @@ -1,4 +1,7 @@ --- +acl_categories: +- '@search' +- '@fast' arguments: - name: index type: string diff --git a/content/commands/ft.explaincli/index.md b/content/commands/ft.explaincli/index.md index 3473547792..8105bb075d 100644 --- a/content/commands/ft.explaincli/index.md +++ b/content/commands/ft.explaincli/index.md @@ -1,4 +1,7 @@ --- +acl_categories: +- '@search' +- '@fast' arguments: - name: index type: string diff --git a/content/commands/ft.info/index.md b/content/commands/ft.info/index.md index 8810c278b4..20cad21ecc 100644 --- a/content/commands/ft.info/index.md +++ b/content/commands/ft.info/index.md @@ -1,4 +1,7 @@ --- +acl_categories: +- '@search' +- '@fast' arguments: - name: index type: string diff --git a/content/commands/ft.profile/index.md b/content/commands/ft.profile/index.md index 24b3df38eb..c44caac5af 100644 --- a/content/commands/ft.profile/index.md +++ b/content/commands/ft.profile/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@search' +- '@read' +- '@slow' arguments: - name: index type: string diff --git a/content/commands/ft.search/index.md b/content/commands/ft.search/index.md index 3f6d1e2a9b..e26af15e78 100644 --- a/content/commands/ft.search/index.md +++ b/content/commands/ft.search/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@search' +- '@read' +- '@slow' arguments: - name: index type: string @@ -312,7 +316,11 @@ syntax_str: "query [NOCONTENT] [VERBATIM] [NOSTOPWORDS] [WITHSCORES] [WITHPAYLOA title: FT.SEARCH --- -Search the index with a textual query, returning either documents or just ids +Search the index with a textual query, returning either documents or just ids. + +{{< note >}} +This command will only return keys to which the user has read access. +{{< /note >}} [Examples](#examples) diff --git a/content/commands/ft.spellcheck/index.md b/content/commands/ft.spellcheck/index.md index 5bc61065d8..6345465462 100644 --- a/content/commands/ft.spellcheck/index.md +++ b/content/commands/ft.spellcheck/index.md @@ -1,4 +1,7 @@ --- +acl_categories: +- '@search' +- '@fast' arguments: - name: index type: string diff --git a/content/commands/ft.sugadd/index.md b/content/commands/ft.sugadd/index.md index f80ce1e201..26e5624bda 100644 --- a/content/commands/ft.sugadd/index.md +++ b/content/commands/ft.sugadd/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@search' +- '@write' +- '@fast' arguments: - name: key type: string diff --git a/content/commands/ft.sugdel/index.md b/content/commands/ft.sugdel/index.md index fc11d32410..79473d0307 100644 --- a/content/commands/ft.sugdel/index.md +++ b/content/commands/ft.sugdel/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@search' +- '@write' +- '@fast' arguments: - name: key type: string diff --git a/content/commands/ft.sugget/index.md b/content/commands/ft.sugget/index.md index cedef2bc80..cf913456ad 100644 --- a/content/commands/ft.sugget/index.md +++ b/content/commands/ft.sugget/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@search' +- '@read' +- '@fast' arguments: - name: key type: string diff --git a/content/commands/ft.suglen/index.md b/content/commands/ft.suglen/index.md index c160b55b03..714c0845e7 100644 --- a/content/commands/ft.suglen/index.md +++ b/content/commands/ft.suglen/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@search' +- '@read' +- '@fast' arguments: - name: key type: string diff --git a/content/commands/ft.syndump/index.md b/content/commands/ft.syndump/index.md index b4402f8474..394dfc38e0 100644 --- a/content/commands/ft.syndump/index.md +++ b/content/commands/ft.syndump/index.md @@ -1,4 +1,7 @@ --- +acl_categories: +- '@search' +- '@fast' arguments: - name: index type: string diff --git a/content/commands/ft.synupdate/index.md b/content/commands/ft.synupdate/index.md index c74296b1ba..39a99c9afb 100644 --- a/content/commands/ft.synupdate/index.md +++ b/content/commands/ft.synupdate/index.md @@ -1,4 +1,7 @@ --- +acl_categories: +- '@search' +- '@fast' arguments: - name: index type: string diff --git a/content/commands/ft.tagvals/index.md b/content/commands/ft.tagvals/index.md index 5833bf0305..3da089a21b 100644 --- a/content/commands/ft.tagvals/index.md +++ b/content/commands/ft.tagvals/index.md @@ -1,4 +1,9 @@ --- +acl_categories: +- '@search' +- '@read' +- '@admin' +- '@dangerous' arguments: - name: index type: string @@ -18,6 +23,8 @@ command_flags: - readonly complexity: O(N) description: Returns the distinct tags indexed in a Tag field +doc_flags: +- deprecated group: search hidden: false linkTitle: FT.TAGVALS diff --git a/content/commands/json.arrappend/index.md b/content/commands/json.arrappend/index.md index a0e891363f..e3719dd610 100644 --- a/content/commands/json.arrappend/index.md +++ b/content/commands/json.arrappend/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@json' +- '@write' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/json.arrindex/index.md b/content/commands/json.arrindex/index.md index 244cdb7aa9..b5abf625f0 100644 --- a/content/commands/json.arrindex/index.md +++ b/content/commands/json.arrindex/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@json' +- '@read' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/json.arrinsert/index.md b/content/commands/json.arrinsert/index.md index e2e207f0a7..7dab0cd161 100644 --- a/content/commands/json.arrinsert/index.md +++ b/content/commands/json.arrinsert/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@json' +- '@write' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/json.arrlen/index.md b/content/commands/json.arrlen/index.md index ea9b3ffee9..35a9749ddd 100644 --- a/content/commands/json.arrlen/index.md +++ b/content/commands/json.arrlen/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@json' +- '@read' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/json.arrpop/index.md b/content/commands/json.arrpop/index.md index 738f3fb045..2ac7dcb50d 100644 --- a/content/commands/json.arrpop/index.md +++ b/content/commands/json.arrpop/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@json' +- '@write' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/json.arrtrim/index.md b/content/commands/json.arrtrim/index.md index 7b1803daad..4fadcf99a0 100644 --- a/content/commands/json.arrtrim/index.md +++ b/content/commands/json.arrtrim/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@json' +- '@write' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/json.clear/index.md b/content/commands/json.clear/index.md index 38cbb2a0b3..d6be009d34 100644 --- a/content/commands/json.clear/index.md +++ b/content/commands/json.clear/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@json' +- '@write' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/json.debug-memory/index.md b/content/commands/json.debug-memory/index.md index 74aba7dddd..20b1e0cede 100644 --- a/content/commands/json.debug-memory/index.md +++ b/content/commands/json.debug-memory/index.md @@ -1,4 +1,7 @@ --- +acl_categories: +- '@json' +- '@read' arguments: - name: key type: key diff --git a/content/commands/json.del/index.md b/content/commands/json.del/index.md index 3ac3cf7222..5b77cd040d 100644 --- a/content/commands/json.del/index.md +++ b/content/commands/json.del/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@json' +- '@write' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/json.forget/index.md b/content/commands/json.forget/index.md index 75627144ec..51b2185496 100644 --- a/content/commands/json.forget/index.md +++ b/content/commands/json.forget/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@json' +- '@write' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/json.get/index.md b/content/commands/json.get/index.md index f587ae29ff..c7736157b5 100644 --- a/content/commands/json.get/index.md +++ b/content/commands/json.get/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@json' +- '@read' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/json.merge/index.md b/content/commands/json.merge/index.md index 618be439c3..e3388d505f 100644 --- a/content/commands/json.merge/index.md +++ b/content/commands/json.merge/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@json' +- '@write' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/json.mget/index.md b/content/commands/json.mget/index.md index f4f0651b07..aeb41b0924 100644 --- a/content/commands/json.mget/index.md +++ b/content/commands/json.mget/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@json' +- '@read' +- '@slow' arguments: - multiple: true name: key diff --git a/content/commands/json.mset/index.md b/content/commands/json.mset/index.md index 9777fe7e45..f7accf054b 100644 --- a/content/commands/json.mset/index.md +++ b/content/commands/json.mset/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@json' +- '@write' +- '@slow' arguments: - arguments: - name: key diff --git a/content/commands/json.numincrby/index.md b/content/commands/json.numincrby/index.md index b177fe791c..368d2a92fa 100644 --- a/content/commands/json.numincrby/index.md +++ b/content/commands/json.numincrby/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@json' +- '@write' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/json.nummultby/index.md b/content/commands/json.nummultby/index.md index 36967ba7c5..4b0c73a0bf 100644 --- a/content/commands/json.nummultby/index.md +++ b/content/commands/json.nummultby/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@json' +- '@write' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/json.objkeys/index.md b/content/commands/json.objkeys/index.md index 3aa3c8f2a3..c743ac3e56 100644 --- a/content/commands/json.objkeys/index.md +++ b/content/commands/json.objkeys/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@json' +- '@read' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/json.objlen/index.md b/content/commands/json.objlen/index.md index e4506a5c78..ac69404d1a 100644 --- a/content/commands/json.objlen/index.md +++ b/content/commands/json.objlen/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@json' +- '@read' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/json.resp/index.md b/content/commands/json.resp/index.md index f9ec57ed7e..107ad463be 100644 --- a/content/commands/json.resp/index.md +++ b/content/commands/json.resp/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@json' +- '@read' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/json.set/index.md b/content/commands/json.set/index.md index d78d4c5d0f..406fe85292 100644 --- a/content/commands/json.set/index.md +++ b/content/commands/json.set/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@json' +- '@write' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/json.strappend/index.md b/content/commands/json.strappend/index.md index e170431cec..08a50d3167 100644 --- a/content/commands/json.strappend/index.md +++ b/content/commands/json.strappend/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@json' +- '@write' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/json.strlen/index.md b/content/commands/json.strlen/index.md index 8604e4da77..4330f4d6e8 100644 --- a/content/commands/json.strlen/index.md +++ b/content/commands/json.strlen/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@json' +- '@read' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/json.toggle/index.md b/content/commands/json.toggle/index.md index 8b37b78571..4c8384f8db 100644 --- a/content/commands/json.toggle/index.md +++ b/content/commands/json.toggle/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@json' +- '@write' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/json.type/index.md b/content/commands/json.type/index.md index aeaa843639..b79ea9830a 100644 --- a/content/commands/json.type/index.md +++ b/content/commands/json.type/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@json' +- '@read' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/tdigest.add/index.md b/content/commands/tdigest.add/index.md index d67142328e..3d029534fd 100644 --- a/content/commands/tdigest.add/index.md +++ b/content/commands/tdigest.add/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@tdigest' +- '@write' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/tdigest.byrank/index.md b/content/commands/tdigest.byrank/index.md index 47e606b642..b946b6cafe 100644 --- a/content/commands/tdigest.byrank/index.md +++ b/content/commands/tdigest.byrank/index.md @@ -1,4 +1,7 @@ --- +acl_categories: +- '@tdigest' +- '@read' arguments: - name: key type: key diff --git a/content/commands/tdigest.byrevrank/index.md b/content/commands/tdigest.byrevrank/index.md index 1a3dfe7a11..4f1f97bad0 100644 --- a/content/commands/tdigest.byrevrank/index.md +++ b/content/commands/tdigest.byrevrank/index.md @@ -1,4 +1,7 @@ --- +acl_categories: +- '@tdigest' +- '@read' arguments: - name: key type: key diff --git a/content/commands/tdigest.cdf/index.md b/content/commands/tdigest.cdf/index.md index cfd25a83e1..4c62521024 100644 --- a/content/commands/tdigest.cdf/index.md +++ b/content/commands/tdigest.cdf/index.md @@ -1,4 +1,7 @@ --- +acl_categories: +- '@tdigest' +- '@read' arguments: - name: key type: key diff --git a/content/commands/tdigest.create/index.md b/content/commands/tdigest.create/index.md index c178d22909..7d8b4221c8 100644 --- a/content/commands/tdigest.create/index.md +++ b/content/commands/tdigest.create/index.md @@ -1,4 +1,7 @@ --- +acl_categories: +- '@tdigest' +- '@write' arguments: - name: key type: key diff --git a/content/commands/tdigest.info/index.md b/content/commands/tdigest.info/index.md index c80879f1ab..824d5db66c 100644 --- a/content/commands/tdigest.info/index.md +++ b/content/commands/tdigest.info/index.md @@ -1,4 +1,7 @@ --- +acl_categories: +- '@tdigest' +- '@read' arguments: - name: key type: key diff --git a/content/commands/tdigest.max/index.md b/content/commands/tdigest.max/index.md index 16fbaecb58..6aac2a7075 100644 --- a/content/commands/tdigest.max/index.md +++ b/content/commands/tdigest.max/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@tdigest' +- '@read' +- '@fast' arguments: - name: key type: key diff --git a/content/commands/tdigest.merge/index.md b/content/commands/tdigest.merge/index.md index f4dd26e079..c03d9ae169 100644 --- a/content/commands/tdigest.merge/index.md +++ b/content/commands/tdigest.merge/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@tdigest' +- '@write' +- '@slow' arguments: - name: destination-key type: key diff --git a/content/commands/tdigest.min/index.md b/content/commands/tdigest.min/index.md index 416efbe181..b200275581 100644 --- a/content/commands/tdigest.min/index.md +++ b/content/commands/tdigest.min/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@tdigest' +- '@read' +- '@fast' arguments: - name: key type: key diff --git a/content/commands/tdigest.quantile/index.md b/content/commands/tdigest.quantile/index.md index 87de095e79..d13ab2c350 100644 --- a/content/commands/tdigest.quantile/index.md +++ b/content/commands/tdigest.quantile/index.md @@ -1,4 +1,7 @@ --- +acl_categories: +- '@tdigest' +- '@read' arguments: - name: key type: key diff --git a/content/commands/tdigest.rank/index.md b/content/commands/tdigest.rank/index.md index db78c21794..460c548000 100644 --- a/content/commands/tdigest.rank/index.md +++ b/content/commands/tdigest.rank/index.md @@ -1,4 +1,7 @@ --- +acl_categories: +- '@tdigest' +- '@read' arguments: - name: key type: key diff --git a/content/commands/tdigest.reset/index.md b/content/commands/tdigest.reset/index.md index 78bc11e6db..80645b1f5c 100644 --- a/content/commands/tdigest.reset/index.md +++ b/content/commands/tdigest.reset/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@tdigest' +- '@write' +- '@fast' arguments: - name: key type: key diff --git a/content/commands/tdigest.revrank/index.md b/content/commands/tdigest.revrank/index.md index 0a7f8ed612..f99602f5e4 100644 --- a/content/commands/tdigest.revrank/index.md +++ b/content/commands/tdigest.revrank/index.md @@ -1,4 +1,7 @@ --- +acl_categories: +- '@tdigest' +- '@read' arguments: - name: key type: key diff --git a/content/commands/tdigest.trimmed_mean/index.md b/content/commands/tdigest.trimmed_mean/index.md index 1f8516a9a6..d56ec3a091 100644 --- a/content/commands/tdigest.trimmed_mean/index.md +++ b/content/commands/tdigest.trimmed_mean/index.md @@ -1,4 +1,7 @@ --- +acl_categories: +- '@tdigest' +- '@read' arguments: - name: key type: key diff --git a/content/commands/topk.add/index.md b/content/commands/topk.add/index.md index f35ebe2268..8cb47e40d4 100644 --- a/content/commands/topk.add/index.md +++ b/content/commands/topk.add/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@topk' +- '@write' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/topk.count/index.md b/content/commands/topk.count/index.md index 33300c952d..64e8751386 100644 --- a/content/commands/topk.count/index.md +++ b/content/commands/topk.count/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@topk' +- '@read' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/topk.incrby/index.md b/content/commands/topk.incrby/index.md index 21889447f3..618280595f 100644 --- a/content/commands/topk.incrby/index.md +++ b/content/commands/topk.incrby/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@topk' +- '@write' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/topk.info/index.md b/content/commands/topk.info/index.md index fb700db931..32dd1ae517 100644 --- a/content/commands/topk.info/index.md +++ b/content/commands/topk.info/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@topk' +- '@read' +- '@fast' arguments: - name: key type: key diff --git a/content/commands/topk.list/index.md b/content/commands/topk.list/index.md index e8be56a8c6..3e2576f6c9 100644 --- a/content/commands/topk.list/index.md +++ b/content/commands/topk.list/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@topk' +- '@read' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/topk.query/index.md b/content/commands/topk.query/index.md index 5a87b05aa1..8415b37fef 100644 --- a/content/commands/topk.query/index.md +++ b/content/commands/topk.query/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@topk' +- '@read' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/topk.reserve/index.md b/content/commands/topk.reserve/index.md index a01b83080f..8bbb9e9db9 100644 --- a/content/commands/topk.reserve/index.md +++ b/content/commands/topk.reserve/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@topk' +- '@write' +- '@fast' arguments: - name: key type: key diff --git a/content/commands/ts.add/index.md b/content/commands/ts.add/index.md index 4563d30a67..89ec7be3ee 100644 --- a/content/commands/ts.add/index.md +++ b/content/commands/ts.add/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@timeseries' +- '@write' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/ts.alter/index.md b/content/commands/ts.alter/index.md index 66aabcfd05..271481494e 100644 --- a/content/commands/ts.alter/index.md +++ b/content/commands/ts.alter/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@timeseries' +- '@write' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/ts.create/index.md b/content/commands/ts.create/index.md index af52b6045a..b969f26cf5 100644 --- a/content/commands/ts.create/index.md +++ b/content/commands/ts.create/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@timeseries' +- '@write' +- '@fast' arguments: - name: key type: key diff --git a/content/commands/ts.createrule/index.md b/content/commands/ts.createrule/index.md index e6f72efcf3..e0bba44a59 100644 --- a/content/commands/ts.createrule/index.md +++ b/content/commands/ts.createrule/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@timeseries' +- '@write' +- '@fast' arguments: - name: sourceKey type: key diff --git a/content/commands/ts.decrby/index.md b/content/commands/ts.decrby/index.md index a6d77e1146..49cfb5e942 100644 --- a/content/commands/ts.decrby/index.md +++ b/content/commands/ts.decrby/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@timeseries' +- '@write' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/ts.del/index.md b/content/commands/ts.del/index.md index 4f8e02a39e..f362ce18b2 100644 --- a/content/commands/ts.del/index.md +++ b/content/commands/ts.del/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@timeseries' +- '@write' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/ts.deleterule/index.md b/content/commands/ts.deleterule/index.md index d9160ee7d0..ecd790c28d 100644 --- a/content/commands/ts.deleterule/index.md +++ b/content/commands/ts.deleterule/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@timeseries' +- '@write' +- '@fast' arguments: - name: sourceKey type: key diff --git a/content/commands/ts.get/index.md b/content/commands/ts.get/index.md index a3d14de94e..6baeb1e492 100644 --- a/content/commands/ts.get/index.md +++ b/content/commands/ts.get/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@timeseries' +- '@read' +- '@fast' arguments: - name: key type: key diff --git a/content/commands/ts.incrby/index.md b/content/commands/ts.incrby/index.md index 22d13fe775..d22c6e01ad 100644 --- a/content/commands/ts.incrby/index.md +++ b/content/commands/ts.incrby/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@timeseries' +- '@write' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/ts.info/index.md b/content/commands/ts.info/index.md index 28b14a25f7..cbd88a48ee 100644 --- a/content/commands/ts.info/index.md +++ b/content/commands/ts.info/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@timeseries' +- '@read' +- '@fast' arguments: - name: key type: key diff --git a/content/commands/ts.madd/index.md b/content/commands/ts.madd/index.md index 292eac9f00..2a79feb72a 100644 --- a/content/commands/ts.madd/index.md +++ b/content/commands/ts.madd/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@timeseries' +- '@write' +- '@slow' arguments: - arguments: - name: key diff --git a/content/commands/ts.mget/index.md b/content/commands/ts.mget/index.md index 3360b9c138..522e65d920 100644 --- a/content/commands/ts.mget/index.md +++ b/content/commands/ts.mget/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@timeseries' +- '@read' +- '@slow' arguments: - name: LATEST optional: true @@ -70,7 +74,12 @@ syntax_str: "[WITHLABELS | ] FILTER\_}} +This command will reply only if the current user has read access to all keys that match the filter. +Otherwise, it will reply with "*(error): current user doesn't have read permission to one or more keys that match the specified filter*". +{{< /note >}} [Examples](#examples) diff --git a/content/commands/ts.mrange/index.md b/content/commands/ts.mrange/index.md index ff8b569c28..e877b4c23c 100644 --- a/content/commands/ts.mrange/index.md +++ b/content/commands/ts.mrange/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@timeseries' +- '@read' +- '@slow' arguments: - name: fromTimestamp type: string @@ -178,7 +182,12 @@ syntax_str: "toTimestamp [LATEST] [FILTER_BY_TS\_Timestamp [Timestamp ...]] [FIL title: TS.MRANGE --- -Query a range across multiple time series by filters in the forward direction +Query a range across multiple time series by filters in the forward direction. + +{{< note >}} +This command will reply only if the current user has read access to all keys that match the filter. +Otherwise, it will reply with "*(error): current user doesn't have read permission to one or more keys that match the specified filter*". +{{< /note >}} [Examples](#examples) diff --git a/content/commands/ts.mrevrange/index.md b/content/commands/ts.mrevrange/index.md index 4db5f017a0..2524a253b5 100644 --- a/content/commands/ts.mrevrange/index.md +++ b/content/commands/ts.mrevrange/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@timeseries' +- '@read' +- '@slow' arguments: - name: fromTimestamp type: string @@ -178,7 +182,12 @@ syntax_str: "toTimestamp [LATEST] [FILTER_BY_TS\_Timestamp [Timestamp ...]] [FIL title: TS.MREVRANGE --- -Query a range across multiple time series by filters in the reverse direction +Query a range across multiple time series by filters in the reverse direction. + +{{< note >}} +This command will reply only if the current user has read access to all keys that match the filter. +Otherwise, it will reply with "*(error): current user doesn't have read permission to one or more keys that match the specified filter*". +{{< /note >}} [Examples](#examples) diff --git a/content/commands/ts.queryindex/index.md b/content/commands/ts.queryindex/index.md index 3beca36378..ec8ee50725 100644 --- a/content/commands/ts.queryindex/index.md +++ b/content/commands/ts.queryindex/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@timeseries' +- '@read' +- '@slow' arguments: - arguments: - name: l=v @@ -44,7 +48,7 @@ syntax_str: '' title: TS.QUERYINDEX --- -Get all time series keys matching a filter list +Get all time series keys matching a filter list. Note: all matching keys will be listed, whether or not the user has read access. [Examples](#examples) diff --git a/content/commands/ts.range/index.md b/content/commands/ts.range/index.md index 0b5e999be0..6ac92bd355 100644 --- a/content/commands/ts.range/index.md +++ b/content/commands/ts.range/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@timeseries' +- '@read' +- '@slow' arguments: - name: key type: key diff --git a/content/commands/ts.revrange/index.md b/content/commands/ts.revrange/index.md index 4c28406456..7a9f6f0066 100644 --- a/content/commands/ts.revrange/index.md +++ b/content/commands/ts.revrange/index.md @@ -1,4 +1,8 @@ --- +acl_categories: +- '@timeseries' +- '@read' +- '@slow' arguments: - name: key type: key diff --git a/content/develop/data-types/probabilistic/configuration.md b/content/develop/data-types/probabilistic/configuration.md index c6baddae4d..62b59c1d51 100644 --- a/content/develop/data-types/probabilistic/configuration.md +++ b/content/develop/data-types/probabilistic/configuration.md @@ -59,11 +59,11 @@ Not optimizing a filter for its intended use will result in degradation of perfo ### bf-error-rate -Default error ratio for Bloom filters. +Default false positive rate for Bloom filters. Type: double -Valid range: `[0 .. 1]` +Valid range: `(0 .. 1)`. Though the valid range is `(0 .. 1)` (corresponding to `> 0%` to `< 100%` false positive rate), any value greater than `0.25` is treated as `0.25`. Default: `0.01` diff --git a/content/operate/oss_and_stack/management/security/acl.md b/content/operate/oss_and_stack/management/security/acl.md index bd2de467ff..d795623951 100644 --- a/content/operate/oss_and_stack/management/security/acl.md +++ b/content/operate/oss_and_stack/management/security/acl.md @@ -274,52 +274,54 @@ really annoying, so instead we do things like this: > ACL SETUSER antirez on +@all -@dangerous >42a979... ~* -By saying +@all and -@dangerous, we included all the commands and later removed -all the commands that are tagged as dangerous inside the Redis command table. -Note that command categories **never include modules commands** with -the exception of +@all. If you say +@all, all the commands can be executed by -the user, even future commands loaded via the modules system. However if you -use the ACL rule +@read or any other, the modules commands are always -excluded. This is very important because you should just trust the Redis -internal command table. Modules may expose dangerous things and in -the case of an ACL that is just additive, that is, in the form of `+@all -...` -You should be absolutely sure that you'll never include what you did not mean -to. +The above command includes all commands (`+@all`) and then removes all commands tagged as dangerous (`-@dangerous`) inside the Redis command table. +Note that command categories, with the exception of `+@all`, never include module commands. + +If you use `+@all` for a particular user, all commands are available to that user, including commands loaded via the modules system. However, if you use `+@read` or any other, module commands are excluded. This concept is fundamental because you should only trust the Redis +internal command table. Modules may expose dangerous things, and in +the case of an ACL that is just additive, that is, in the form of `+@all -...`, +you should be absolutely sure that you won't include what you did not mean to. The following is a list of command categories and their meanings: * **admin** - Administrative commands. Normal applications will never need to use these. Includes [`REPLICAOF`](/commands/replicaof), [`CONFIG`](/commands/config), [`DEBUG`](/commands/debug), [`SAVE`](/commands/save), [`MONITOR`](/commands/monitor), [`ACL`](/commands/acl), [`SHUTDOWN`](/commands/shutdown), etc. -* **bitmap** - Data type: bitmaps related. +* **bitmap** - Data type: all bitmap related commands. * **blocking** - Potentially blocking the connection until released by another command. +* **bloom** - Data type: all Bloom filter related commands. +* **cms** - Data type: count-min sketch related commands. * **connection** - Commands affecting the connection or other connections. This includes [`AUTH`](/commands/auth), [`SELECT`](/commands/select), [`COMMAND`](/commands/command), [`CLIENT`](/commands/client), [`ECHO`](/commands/echo), [`PING`](/commands/ping), etc. +* **cuckoo** - Data type: all Cuckoo filter related commands. * **dangerous** - Potentially dangerous commands (each should be considered with care for various reasons). This includes [`FLUSHALL`](/commands/flushall), [`MIGRATE`](/commands/migrate), [`RESTORE`](/commands/restore), [`SORT`](/commands/sort), [`KEYS`](/commands/keys), [`CLIENT`](/commands/client), [`DEBUG`](/commands/debug), [`INFO`](/commands/info), [`CONFIG`](/commands/config), [`SAVE`](/commands/save), [`REPLICAOF`](/commands/replicaof), etc. -* **geo** - Data type: geospatial indexes related. -* **hash** - Data type: hashes related. -* **hyperloglog** - Data type: hyperloglog related. -* **fast** - Fast O(1) commands. May loop on the number of arguments, but not the - number of elements in the key. +* **fast** - Fast O(1) commands. May loop on the number of arguments, but not the number of elements in the key. +* **geo** - Data type: all geospatial index related commands. +* **hash** - Data type: all hash related commands. +* **hyperloglog** - Data type: all hyperloglog related commands. +* **json** - Data type: all JSON related commands. * **keyspace** - Writing or reading from keys, databases, or their metadata in a type agnostic way. Includes [`DEL`](/commands/del), [`RESTORE`](/commands/restore), [`DUMP`](/commands/dump), [`RENAME`](/commands/rename), [`EXISTS`](/commands/exists), [`DBSIZE`](/commands/dbsize), [`KEYS`](/commands/keys), [`EXPIRE`](/commands/expire), [`TTL`](/commands/ttl), [`FLUSHALL`](/commands/flushall), etc. Commands that may modify the keyspace, key, or metadata will also have the `write` category. Commands that only read the keyspace, key, or metadata will have the `read` category. -* **list** - Data type: lists related. -* **pubsub** - PubSub-related commands. -* **read** - Reading from keys (values or metadata). Note that commands that don't - interact with keys, will not have either `read` or `write`. +* **list** - Data type: all list related commands. +* **pubsub** - all pubsub related commands. +* **read** - Reading from keys (values or metadata). Note that commands that don't interact with keys, will not have either `read` or `write`. * **scripting** - Scripting related. -* **set** - Data type: sets related. -* **sortedset** - Data type: sorted sets related. +* **search** - All search related commands. +* **set** - Data type: all set related commands. +* **sortedset** - Data type: all sorted set related commands. * **slow** - All commands that are not `fast`. -* **stream** - Data type: streams related. -* **string** - Data type: strings related. +* **stream** - Data type: all stream related commands. +* **string** - Data type: all string related commands. +* **tdigest** - Data type: all t-digest related commands. +* **timeseries** - Data type: all time series related commands. +* **topk** - Data type: all top-k related commands. * **transaction** - [`WATCH`](/commands/watch) / [`MULTI`](/commands/multi) / [`EXEC`](/commands/exec) related commands. -* **write** - Writing to keys (values or metadata). +* **write** - Writing to keys (values or metadata). Note that commands that don't interact with keys, will not have either `read` or `write`. Redis can also show you a list of all categories and the exact commands each category includes using the Redis [`ACL CAT`](/commands/acl-cat) command. It can be used in two forms: @@ -328,43 +330,55 @@ Redis can also show you a list of all categories and the exact commands each cat Examples: - > 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" - -As you can see, so far there are 21 distinct categories. Now let's check what +``` +> 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" +``` + +As you can see, so far there are 29 distinct categories. Now let's check what command is part of the *geo* category: - > ACL CAT geo - 1) "geohash" - 2) "georadius_ro" - 3) "georadiusbymember" - 4) "geopos" - 5) "geoadd" - 6) "georadiusbymember_ro" - 7) "geodist" - 8) "georadius" - 9) "geosearch" - 10) "geosearchstore" +``` +> ACL CAT geo +1) "geohash" +2) "georadius_ro" +3) "georadiusbymember" +4) "geopos" +5) "geoadd" +6) "georadiusbymember_ro" +7) "geodist" +8) "georadius" +9) "geosearch" +10) "geosearchstore" +``` Note that commands may be part of multiple categories. For example, an ACL rule like `+@geo -@read` will result in certain geo commands to be @@ -470,19 +484,21 @@ and check the output of [`ACL LIST`](/commands/acl-list) or [`ACL GETUSER`](/com string that looks pseudo random. Here is an example, because in the previous examples, for the sake of brevity, the long hex string was trimmed: - > ACL GETUSER default - 1) "flags" - 2) 1) "on" - 3) "passwords" - 4) 1) "2d9c75273d72b32df726fb545c8a4edc719f0a95a6fd993950b10c474ad9c927" - 5) "commands" - 6) "+@all" - 7) "keys" - 8) "~*" - 9) "channels" - 10) "&*" - 11) "selectors" - 12) (empty array) +``` +> ACL GETUSER default +1) "flags" +2) 1) "on" +3) "passwords" +4) 1) "2d9c75273d72b32df726fb545c8a4edc719f0a95a6fd993950b10c474ad9c927" +5) "commands" +6) "+@all" +7) "keys" +8) "~*" +9) "channels" +10) "&*" +11) "selectors" +12) (empty array) +``` Using SHA256 provides the ability to avoid storing the password in clear text while still allowing for a very fast [`AUTH`](/commands/auth) command, which is a very important