Redis里怎么用命令查缓存信息,顺便了解下常用的redis缓存查询操作
- 问答
- 2026-01-13 11:01:47
- 7
要查Redis里的缓存信息,你得先连接到Redis服务器,通常我们使用redis-cli这个命令行工具来操作,连接上之后,就可以开始输入各种命令了。
最核心、最常用的命令就是查看缓存值本身,这主要用到两个命令:GET和MGET。
GET命令
这个命令用于获取指定键(key)的值(value),用法非常简单,就是GET key_name,你之前缓存了一个用户名叫“张三”,键是user:1001:name,那么你输入GET user:1001:name,Redis就会返回“张三”,如果这个键不存在,它会返回(nil),告诉你啥也没有,这是最直接的查询方式。
MGET命令
如果你需要一次性获取多个键的值,一个一个用GET就太麻烦了,这时可以用MGET命令,它允许你同时查询多个键,用法是MGET key1 key2 key3 ...。MGET user:1001:name user:1001:age user:1001:email,Redis会按顺序返回这三个键对应的值,如果某个键不存在,对应的返回位置就是(nil),这在批量获取数据时非常高效。
有时候你并不清楚键的具体名字,或者想看看当前缓存里都有哪些类型的键,这时候就需要用到键空间查询命令。
KEYS命令
这个命令用来查找所有符合给定模式(pattern)的键,最常用的就是KEYS *,它会列出当前数据库中的所有键,你也可以使用通配符,比如KEYS user:*会找出所有以“user:”开头的键。这里要特别提醒一下,KEYS命令在生产环境中要极其谨慎地使用。 因为当Redis中键的数量非常庞大时,这个命令会阻塞其他操作,可能导致整个服务短暂不可用,它就像是在一个巨大的仓库里进行一次全库扫描,会消耗大量资源,它通常只用在测试环境或者确定键数量很少的情况下。

SCAN命令
正因为KEYS命令有阻塞的风险,Redis提供了SCAN命令作为安全的替代方案。SCAN采用迭代器的方式分批返回键,不会一次性锁住整个数据库,因此不会对服务器性能造成大的影响,它的用法稍微复杂一点,是SCAN cursor [MATCH pattern] [COUNT count],你第一次执行SCAN 0,它会返回一个游标(比如123)和一部分键,然后你再用SCAN 123继续扫描,直到返回的游标是0,表示遍历完成,你可以通过MATCH选项来匹配模式,比如SCAN 0 MATCH user:*,用COUNT来建议每次返回多少元素,虽然用法比KEYS麻烦,但它是生产环境扫描键的首选方法。
除了查看键的值,了解键本身的属性也非常重要。
EXISTS命令
这个命令用于检查一个或多个键是否存在,用法是EXISTS key_name,如果键存在,返回1;不存在,返回0,如果你检查多个键,比如EXISTS key1 key2,它会返回存在的键的数量,这个命令在判断缓存是否命中时非常有用。

TYPE命令
Redis支持多种数据类型,比如字符串(String)、哈希(Hash)、列表(List)、集合(Set)等。TYPE命令可以告诉你某个键存储的数据类型是什么,用法是TYPE key_name,对一个存储哈希表的键使用TYPE,它会返回hash,这在你忘记某个键的结构时很有帮助。
TTL 和 PTTL命令
缓存通常是有生存时间的。TTL命令用于查看键的剩余生存时间(Time To Live),单位是秒,用法是TTL key_name,如果键没有设置过期时间,返回-1;如果键已经过期或被删除,返回-2;否则返回剩余的秒数。PTTL的功能类似,但返回的是以毫秒为单位的剩余时间。
针对特定数据类型的查询 以上命令大多是针对键的通用操作,对于复杂的数据类型,还有更具体的查询命令:
- 哈希(HMap):如果你缓存的是一个对象(比如用户信息),可能会用Hash类型,可以用
HGET key field来获取单个字段的值,用HGETALL key来获取整个哈希的所有字段和值。 - 列表(List):可以用
LRANGE key start stop来获取列表的一个范围元素,比如LRANGE mylist 0 -1可以获取列表的所有元素。 - 集合(Set):可以用
SMEMBERS key来获取集合中的所有成员。 - 有序集合(Sorted Set):可以用
ZRANGE key start stop [WITHSCORES]来按排名范围获取成员(可以选择是否带分数)。
查询Redis缓存信息是一个从宏观到微观的过程:你可以先用SCAN安全地浏览有哪些键(宏观),然后用EXISTS判断是否存在,用TYPE看是什么类型,再用针对该数据类型的命令(如GET, HGETALL等)去获取具体的值(微观),同时用TTL了解它的过期时间,记住避免在生产环境使用KEYS *,是使用Redis的一个良好习惯。
这些命令的详细说明和行为可以参照Redis官方的命令文档,这是最权威的来源。
本文由颜泰平于2026-01-13发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:http://waw.haoid.cn/wenda/79890.html
