插件窝 干货文章 Redis 如何查看所有 key

Redis 如何查看所有 key

使用 Redis Key 命令 947    来源:    2025-03-29

Redis 查看所有 Key 的方法

在 Redis 中查看所有 key 有几种方法,但需要注意 Redis 是单线程服务,在生产环境中大量 key 的情况下谨慎使用这些命令。

1. 使用 KEYS 命令

最直接的方法是使用 KEYS 命令:

KEYS *

这会返回数据库中所有的 key。但需要注意: - 在生产环境中不推荐使用,因为会阻塞 Redis 服务 - 当 key 数量很大时(百万级以上)会导致 Redis 短暂不可用

2. 使用 SCAN 命令 (推荐)

更安全的方式是使用 SCAN 命令,它是一个增量式迭代器:

SCAN 0

SCAN 命令特点: - 不会阻塞服务器 - 可以分批获取 key - 可能需要多次执行直到返回的游标为 0 - 可以添加 MATCH 模式匹配,如 SCAN 0 MATCH user*

3. 查看特定类型的 key

可以结合 TYPE 命令查看特定类型的 key:

KEYS * | xargs redis-cli TYPE

4. 使用 INFO 命令查看 key 统计

查看 key 的统计信息:

INFO keyspace

这会显示每个数据库的 key 数量和过期 key 数量。

5. 使用 DBSIZE 查看 key 总数

DBSIZE

返回当前数据库的 key 数量。

注意事项

  1. 生产环境避免使用 KEYS *,优先使用 SCAN
  2. 大 key 集合会影响性能
  3. 可以考虑使用 Redis 的监控工具如 RedisInsight 来可视化查看 key

替代方案

对于生产环境,考虑: - 使用 Redis 的监控工具 - 设置 key 命名规范并使用前缀搜索 - 维护一个 key 的索引或目录