Redis 用户查看和管理主要依赖于 Redis 6.0 引入的 ACL(访问控制列表)机制以及客户端连接命令。查看用户信息可使用`ACL LIST`查看所有用户,`ACL GETUSER 用户名`查看指定用户详情,或使用`CLIENT LIST`查看当前连接的客户端状态。管理操作包括`ACL SETUSER`创建或修改用户权限、密码,以及`ACL DELUSER`删除用户。此外,还可以通过图形化数据库工具进行可视化管理。需注意区分客户端名称与登录用户名的不同,合理配置密码和命令权限以保障安全。
Redis 权限管理体系 (二):终于等来了 Redis 权限控制体系 ACL
1. 用户管理 Redis 用户的创建、查看、修改、删除等主要操作可以按照如下实例进行 1.1 创建用户 只创建用户,暂时不添加其他权限 代码语言:javascript AI 代码解释 另外,上例中,设置的是明文密码,也可以设置加密的 hash 密码,例如:代码语言:javascript AI 代码解释 1.2 查看用户 Redis 中查看用户时可以看到对应的用户信息及权限;另外也可以选择查看全部用户信息、指定用户信息及当前登录的用户是谁。具体示例如下:列出所有用户:代码语言:javascript AI 代码解释 127.0.0.1:6479>ACLLIST1)"user default on #515c217eb413b6aaf09de74bf42c85a6edc09ee7008c6ebedc2981b44bbc0fd3 ~* &* +@all"2)"user testuser1 on #b6d18faf7ebcfdce9f8782a0aad13c14e2662fcc08072e2738bcb27d04b96188 &* -@all"3)"user user1 on #21a1bbcd2c36cb07cd8779b3cba6ab183ecfd8b2a86e11f6dc1f674b90634544 &* -@all"127.0.0.1:6479> 查看指定用户:查看单个用户可以用 "ACL GETUSER 用户名"的方式查看,例如:代码语言:javascript AI 代码解释 查看当前登录用户:代码语言:javascript AI 代码解释 1.3 创建多密码 Redis 中一个用户可以有多个密码,这是与其他数据库有所不同的地方。示例如下:代码语言:javascript AI 代码解释 127.0.0.1:6479>ACLSETUSERu3 on >pwd_u3 OK127.0.0.1:6479>ACLSETUSERu3 on >pwd_u33 OK127.0.0.1:6479>ACLGETUSERu3 1)"flags"2)1)"on"2)"allchannels"3)"passwords"4)1)"8064ac564c2512d07af567e7de8714bc194abe6afefef26370f44e33593d6179"2)"d190fe553fa81919050af3f9c482bb70ea19619e64e5c26c9b95e3f61de557c1"5)"commands"6)"-@all"7)"keys"8)(empty array)9)"channels"10)1)"*" 尝试用 2 个不同的密码登录一下:(撰于 2026 年 2 月 2 日)
redis 如何查看用户
在使用 Redis 的过程中,管理用户和对用户的监控非常重要。本文将介绍如何在 Redis 中查看用户,并结合项目需求提供相应的代码示例,以及业务流程和状态机图示。1. 项目背景 在一个基于微服务架构的电商平台中,多个服务可能会并行访问 Redis。为了确保数据的安全和完整性,我们需要查看并管理访问 Redis 的用户。通过查看用户信息,我们能够监控用户行为,及时调整权限,确保系统的稳定性。2. Redis 用户管理功能需求 本项目主要提供以下几项功能:查看当前连接的用户 增加新用户 删除用户 修改用户权限 3. 用户查看功能实现 在 Redis 中,我们可使用 CLIENT LIST 命令来查看连接到 Redis 的用户信息。这个命令会返回一个字符串数组,每个元素代表一个客户端的状态信息,包含了用户的 IP 地址、端口、当前命令等。3.1 查看用户的代码示例 以下是 Python 代码示例,使用 redis-py 库来执行 CLIENT LIST 命令:importredis# 连接到 Redisclient=redis.StrictRedis(host='localhost',port=6379,db=0)# 查看当前连接的用户 defview_users():try:# 执行 CLIENT LIST 命令 clients_info=client.execute_command('CLIENT LIST')users=clients_info.splitlines()returnusersexceptExceptionase:print(f"Error retrieving users:{e}")# 打印用户信息 if__name__=="__main__":users=view_users()foruserinusers:print(user) 1. 2. 3. 4. 5.(发布时间是 2024 年 8 月 30 日)
Redis 权限管理体系 (一):客户端名及用户名
1. 客户端名 1.1 查看客户端连接情况 在 Redis4 版本中,使用 client list 命令查看客户端连接情况的时候可以发现,有的 name 中有名字,而大部分是没有内容的。有的人误以为这个名称是 Redis 的登录用户名。例如:代码语言:javascript AI 代码解释 127.0.0.1:6379>client list id=7addr=127.0.0.1:50194fd=7name=testuser age=1222idle=1185flags=Ndb=0sub=0psub=0multi=-1qbuf=0qbuf-free=0obl=0oll=0omem=0events=r cmd=client id=8addr=127.0.0.1:50238fd=8name=age=1180idle=1174flags=Ndb=0sub=0psub=0multi=-1qbuf=0qbuf-free=0obl=0oll=0omem=0events=r cmd=client id=9addr=127.0.0.1:51394fd=9name=age=3idle=0flags=Ndb=0sub=0psub=0multi=-1qbuf=0qbuf-free=32768obl=0oll=0omem=0events=r cmd=client 而 client list 命令的结果中的每一列的含义如下:代码语言:javascript AI 代码解释 id:7, 表示客户端连接的唯一标识符。addr:127.0.0.1:50194,客户端的 IP 地址和端口号。fd:7,客户端的文件描述符 (File Descriptor)。name:testuser,客户端的连接名字,通常是客户端自己设置的名字,可以用来标识连接来源 age:1222,客户端连接的时长为 1222 秒。idle:1185,客户端的空闲时长为 1185 秒。flags:N,客户端的连接状态标志,可能包含一系列标志,比如 "O"表示输出缓冲区有未发送的数据,"S"表示客户端是被从服务器中阻塞的,"N"表示无特殊标志 db:0,客户端当前所在的数据库。sub:0,客户端订阅的频道数量。psub:0,客户端订阅的模式数量。multi:-1,客户端不在事务中 (没有执行 MULTI 命令)。如果客户端在执行事务,则显示事务的 ID;否则,为 "-1"qbuf:0,查询缓冲区的长度,即客户端还未读取的查询缓冲区的长度。qbuf-free:0, 查询缓冲区的空闲长度长度。obl:0,输出缓冲区的长度,即客户端还未读取的输出缓冲区的长度。oll:0,输出缓冲区的列表长度。omem:0,客户端的输出缓冲区占用内存字节数。events:r,表示客户端关注可读事件。cmd:client,表示客户端最后执行的命令是 CLIENT 可以看出,上面的名称是客户端的名称,而不是用户名。(2026 年 4 月 14 日)
《保姆级 Redis 教程:安装配置 + 数据类型 + 命令大全,这一篇就够了》
什么是 Redis? Redis(Remote Dictionary Server) 是一个开源的内存数据结构存储系统,它可以用作数据库、缓存和消息中间件。Redis 是完全开源免费的,遵守 BSD 协议,是一个高性能的 key-value 存储系统。核心特点 内存存储与持久化 数据主要存储在内存中,读写速度极快 (每秒可处理 10 万 + 次读写操作) 支持 RDB 和 AOF 两种持久化方式,防止数据丢失 丰富的数据类型 不仅仅是简单的 key-value 存储 支持字符串、哈希、列表、集合、有序集合等多种数据结构 高可用与分布式 支持主从复制、哨兵模式实现高可用 支持 Redis Cluster 实现分布式集群 原子性操作:所有 Redis 操作都是原子性的,支持事务 既然知道了 Redis 是什么,那我们就可以直接去安装 Redis 了。redis 的安装非常简单,我们从官网上直接下载对应的压缩包,然后放在自己能找到的目录下解压,这样就算是安装完成了 官网:https://redis.io 中文网:https://www.redis.net.cn/ 解压之后的目录如下:解压完成之后,我们将启动 Redis 直接在当前目录的窗口,输入 cmd 回车,打开命令行,敲入 redis-server.exe redis.windows.conf(我们可以不用敲全,可以直接用 tab 键自动关联) 如图所示就是启动成功了,如果要停止,直接 CTRL+C 即可。启动成功之后,我们就需要客户端来连接一下 Redis 服务,这时我们敲入 cmd,重新进入一个命令行,然后输入 redis-cli.exe,之后显示连接到本地的 redis 服务,端口号是 6379,如果我们要退出客户端,我们直接在命令行中输入 exit 即可。我们也可以通过 -h -p 来指定连接哪个地方的服务 (本地),以及指定端口。补充:Redis 客户端是指连接和使用 Redis 服务器的程序或工具。可以这样理解:Redis 服务器:像一家银行,负责存储数据和提供服务 Redis 客户端:像银行的客户,通过特定方式 (窗口、ATM、手机 App) 与银行交互 由于 Redis 本身没有设置密码,为了安全起见,我们可以手动的为 redis 设置密码,这时我们关掉所有命令行,打开解压目录下的 redis.windows.conf 配置文件,这时我们只需用记事本打开,里面有一千多行的代码,我们直接用 CTRL+F 搜索:pass 由于#是注释的作用,我们要设置密码,就把前面的#删掉,把 foobared 替换成自己的密码即可。上面我们使用命令行方式连接 redis,用的不是很方便。(搜索结果收录于 2026 年 4 月 22 日)
使用 Redis 数据库查看工具:管理和查看数据库
然而,如何有效地管理和查看 Redis 数据库中的数据呢?这时,我们就需要借助 Redis 数据库查看工具。本文将详细介绍这类工具的使用方法,并通过实例操作来教读者如何具体应用。一、什么是 Redis 数据库查看工具?Redis 数据库查看工具是一种专门用于管理和查看 Redis 数据库的工具。它们提供了一系列功能,如数据查询、数据修改、数据库管理、监控等,帮助开发人员和 DBA 更方便地操作和管理 Redis 数据库。二、Redis 数据库查看工具的使用方法 下载与安装 首先,我们需要从 Redis 官方网站下载适合自己操作系统的 Redis 数据库查看工具。安装过程可以根据不同工具的说明进行操作。使用界面 大部分 Redis 数据库查看工具都提供了友好的图形化界面,方便用户直观地进行操作。通过界面,我们可以连接到 Redis 数据库,查看数据,设置数据等。选项设置 在使用 Redis 数据库查看工具时,需要根据实际需求进行相应的选项设置。例如,可以设置连接 Redis 数据库的地址、端口号、密码等。三、实例操作:使用 Redis 数据库查看工具连接数据库并查看数据 以下以一个实际例子来说明如何使用 Redis 数据库查看工具连接数据库并查看数据:打开 Redis 数据库查看工具,在连接设置中填入 Redis 数据库的地址、端口号和密码。点击连接,成功后即可看到 Redis 数据库中的所有数据。可以根据需要进行搜索、排序、过滤等操作。例如,要查看某个键值对的数据,可以在搜索框中输入键名或值,然后按回车键即可查看到对应的数据。如果需要对数据进行修改,可以在查看数据界面的编辑区域中进行修改,然后点击保存即可。(截至 2023 年 10 月 8 日)
FAQ
Redis 6.0 之前有用户权限管理吗?
Redis 6.0 之前版本没有原生的 ACL 用户权限管理体系,所有连接默认拥有所有权限。从 Redis 6.0 开始引入了 ACL 机制,支持多用户、密码及命令权限控制。
如何查看当前连接到 Redis 的客户端信息?
可以使用 CLIENT LIST 命令查看当前所有连接到 Redis 服务器的客户端详细信息,包括 IP、端口、连接时长、执行的命令等,但这显示的是客户端连接而非 ACL 用户身份。
一个 Redis 用户可以设置多个密码吗?
可以。Redis ACL 允许为一个用户设置多个密码,通过多次执行 ACL SETUSER 命令添加不同的密码哈希,用户可以使用其中任意一个密码进行认证登录。
客户端名称(name)是登录用户名吗?
不是。CLIENT LIST 中显示的 name 字段是客户端连接时自行设置的标识名称,用于区分连接来源,与 Redis 服务器的登录用户名(ACL 用户)是完全不同的概念。