2023-02-11 11:29:13
在 Redis 客户端查看所有 key 的方法如下:使用 Redis 的 KEYS 命令,通过指定模式(pattern)匹配并返回符合条件的 key 列表。以下是详细步骤和说明:
核心方法pattern 为可选参数,用于过滤 key。若省略或使用 *,则返回所有 key。
连接到 Redis 服务器
使用 Redis 官方客户端 redis-cli 或其他兼容工具(如 RDM、Medis 等)建立连接。
示例命令:$ redis-cli -h <host> -p <port> -a <password> # 带认证的连接$ redis-cli # 默认连接本地 127.0.0.1:6379
执行 KEYS 命令
查看所有 key:在 Redis 交互提示符下输入 KEYS *,返回当前数据库中所有 key 的列表。127.0.0.1:6379> KEYS *1) "message"2) "key-1"3) "user:1"
根据模式过滤 key:使用通配符模式匹配特定 key。例如:
KEYS user:*:匹配所有以 user: 开头的 key。
KEYS *lock*:匹配包含 lock 的 key。
127.0.0.1:6379> KEYS user:*1) "user:1"2) "user:profile:1001"查看结果
命令返回一个数组,包含所有匹配的 key。若无匹配项,返回空列表 (empty list or set)。
性能影响:
KEYS 命令会阻塞 Redis 服务器,尤其在 key 数量庞大时(如数百万级),可能导致服务短暂不可用。
生产环境慎用,建议改用 SCAN 命令(增量迭代 key,避免阻塞)。
模式语法:
*:匹配任意数量任意字符(如 a* 匹配 a、ab、abc)。
?:匹配单个任意字符(如 h?llo 匹配 hello、hallo)。
[]:匹配指定范围内的字符(如 h[ae]llo 匹配 hello、hallo)。
数据库选择:
Redis 默认有 16 个数据库(编号 0-15),KEYS 仅操作当前数据库。切换数据库命令:127.0.0.1:6379> SELECT 1 # 切换到数据库 1
通过上述方法,可灵活查询 Redis 中的 key 列表,但需根据场景选择合适命令以平衡功能与性能。