<p>推荐使用 SCAN 0 MATCH COUNT 1000 安全遍历,不阻塞服务;次选 KEYS (仅限开发环境,会阻塞 Redis);再用 INFO KEYSPACE 查键总数并配合 RANDOMKEY 抽样验证。</p>

在Mac终端中快速定位Redis里存了哪些Key,是排查缓存问题、验证数据写入或清点线上键空间的第一步。你不需要打开GUI工具或写脚本,直接用命令行就能完成,但必须注意不同命令对生产环境的影响。
确认Redis服务已运行并可连接
先检查Redis是否正在后台运行:执行 brew services list | grep redis,看到状态为 started 才能继续。如果显示 stopped,运行 brew services start redis 启动服务。
接着测试连通性:输入 redis-cli ping,返回 PONG 表示连接正常;若报错 Could not connect to Redis at 127.0.0.1:6379,说明Redis未监听默认端口或配置有变,需检查 /opt/homebrew/etc/redis.conf 中的 bind 和 port 设置。
查看所有Key的三种方法(按安全优先级排序)
方法一:用 SCAN 命令安全遍历(推荐用于任何环境)
在 redis-cli 中输入:SCAN 0 MATCH * COUNT 1000。这个命令不会阻塞Redis主线程,适合生产环境。它返回一个新游标和最多1000个key——如果返回的游标不是0,就把那个数字填进下一次命令的游标位置,例如 SCAN 12345 MATCH * COUNT 1000,持续执行直到游标再次变为0。
方法二:用 KEYS 命令一次性列出(仅限本地开发或键量极少时)
直接运行:KEYS *。这会立即返回当前数据库中全部key,但【Redis会全程阻塞,期间无法处理其他请求】。当key数量超过1万,响应可能延迟数秒甚至更久,生产环境严禁使用。
Redis 缓存和数据结构管理技能。通过自然语言操作 Redis,支持 String、Hash、List、Set、ZSet、Stream 等数据结构操作。当用户提到 Redis、缓存、消息队列、会话存储时使用此技能。
方法三:用 INFO 命令查总数再抽样验证
执行 INFO KEYSPACE,在输出中找到类似 db0:keys=42,expires=5,avg_ttl=1234567 的行,确认当前库键总数。再配合 RANDOMKEY 多次执行,快速抽检几个key名称,交叉验证数据是否存在、命名是否符合预期。
查看某个Key的具体值类型和内容
先用 TYPE keyname 确认该key的数据结构,因为不同结构要用不同命令读取。
如果是字符串(string),直接用 GET keyname 获取值。
如果是哈希(hash),运行 HGETALL keyname 查看全部字段与值;如果是列表(list),用 LRANGE keyname 0 -1 拉取全部元素;集合(set)用 SMEMBERS keyname;有序集合(zset)用 ZRANGE keyname 0 -1 WITHSCORES。
【务必先 TYPE 再 GET,否则对非string类型执行 GET 会返回 (error) WRONGTYPE Operation against a key holding the wrong kind of value】

















