*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 LIST 或 ACL GETUSER 深入了解每个用户的权限
- 可作为脚本入口批量处理所有用户
- 用户数量过多时考虑按业务拆分 Redis 实例
*FAQ
Q1: default 用户可以删除吗? A: 可以,但不建议。删除 default 前确保有其他管理员用户,否则可能失去管理权限。
Q2: 禁用(off)的用户会出现在列表中吗? A: 会。USERS 返回所有已定义的用户名,无论状态是 on 还是 off。
Q3: 如何快速知道有多少个用户?
A: ACL USERS 后用客户端数数组长度即可,或配合 LLEN 思路:redis-cli ACL USERS | wc -l。