*Redis ACL USERS 命令

ACL USERS 返回 Redis 中所有已配置的 ACL 用户名列表。


*语法

ACL USERS

*参数说明

参数 类型 必填 说明
该子命令不接受额外参数

*返回值

  • Array of Strings:所有 ACL 用户名

*时间复杂度

O(N),N 为用户数量


*示例

*列出所有用户

> ACL USERS
1) "default"
2) "appuser"
3) "readonly"
4) "admin"

*配合 ACL GETUSER 逐个查看

> ACL USERS | xargs -I {} redis-cli ACL GETUSER {}
# 或使用脚本批量检查

*刚初始化时的用户列表

> ACL USERS
1) "default"

*常见错误

错误 原因 解决
NOPERM 当前用户无 ACL 读取权限 使用有权限的用户连接

*最佳实践

  • 定期审计用户列表,清理不再使用的账号
  • 配合 ACL LISTACL GETUSER 深入了解每个用户的权限
  • 可作为脚本入口批量处理所有用户
  • 用户数量过多时考虑按业务拆分 Redis 实例

*FAQ

Q1: default 用户可以删除吗? A: 可以,但不建议。删除 default 前确保有其他管理员用户,否则可能失去管理权限。

Q2: 禁用(off)的用户会出现在列表中吗? A: 会。USERS 返回所有已定义的用户名,无论状态是 on 还是 off。

Q3: 如何快速知道有多少个用户? A: ACL USERS 后用客户端数数组长度即可,或配合 LLEN 思路:redis-cli ACL USERS | wc -l