想知道Redis里怎么查看键值对,实际操作和方法分享给你看看
- 问答
- 2026-01-03 09:24:49
- 3
你得先连接到Redis,就像你要去朋友家串门,得先找到门进去一样,最常见的方法就是用Redis自带的命令行客户端,你打开你的终端(Windows叫命令提示符或者PowerShell,Linux和Mac就叫终端),然后输入命令:redis-cli,如果你的Redis服务器设了密码或者不在本地,可能还需要加上一些参数,redis-cli -h 你的主机地址 -p 端口号 -a 你的密码,连上去之后,你会看到一个提示符,0.0.1:6379>,这就表示你已经成功进入Redis的世界了,可以开始“翻箱倒柜”地查看数据了。
进去之后,你可能会想,我库里到底有哪些钥匙(key)啊?这时候,第一个重要的命令就来了:KEYS 命令,你可以用 KEYS * 来查看当前数据库里所有的键,这个星号 是一个通配符,代表匹配任何东西,你只记得某个键是以“user”开头的,你就可以用 KEYS user* 来查找所有以“user”开头的键,但是要小心,如果你的数据库特别大,里面有成千上万个键,直接用 KEYS * 可能会让Redis卡住一会儿,因为它会一次性把所有键都列出来,在生产环境(就是正式在用的服务器)上,一般不推荐直接这么干。
知道了有哪些键之后,下一步自然就是想看看每个键对应的值是什么了,这就要根据键所存储的数据类型,使用不同的命令了,Redis不是把所有数据都当成一样的字符串,它有好几种数据类型,就像你的文件柜里有文件夹、记事本、表格一样。
字符串(String)
这是最简单最常用的一种类型,可以存文本、数字啥的,查看的命令是 GET,比如你有一个键叫 name,你想知道它的值,就直接输入 GET name,Redis就会把存在里面的字符串给你显示出来。
哈希(Hash)
这个类型很像一个对象或者一张表,它里面包含了多个字段(field)和值(value),比如你存了一个用户信息,键是 user:1001,这个键对应的值是一个哈希结构,里面有 name、age、email 这些字段,查看哈希有不同的细致程度:
- 想看看这个哈希里所有的字段和值:用
HGETALL user:1001,它会一下子把所有的东西都列出来,一行是字段名,下一行是对应的值,交替显示。 - 如果我只想知道这个用户的姓名,不关心别的:用
HGET user:1001 name,这样就直接把名字取出来了。 - 如果想看看这个哈希里都有哪些字段名:用
HKEYS user:1001。 - 如果想只看所有的值:用
HVALS user:1001。
列表(List)
列表就是按顺序排列的一串值,你可以从左边或者右边添加元素,有点像排队,查看列表通常是用 LRANGE 命令,它需要你指定一个开始和结束的索引,比如有一个存放消息的列表,键是 messages,你想看全部内容,就输入 LRANGE messages 0 -1,这里的 0 表示第一个元素,-1 表示最后一个元素,所以这个命令的意思就是“从第一个到最后一个,全给我看看”,如果你只想看前3条,那就是 LRANGE messages 0 2(索引从0开始)。
集合(Set)
集合的特点是无序,并且里面的元素都是唯一的,没有重复,查看集合的所有成员很简单,用 SMEMBERS 命令,比如有一个记录标签的集合 tags,输入 SMEMBERS tags,它就会把所有的标签都列出来,但顺序是不保证的。
有序集合(Sorted Set)
它和集合类似,也是唯一的,但每个成员都有一个分数(score)用来排序,比如可以用来做排行榜,查看有序集合最常用的也是 ZRANGE 命令,如果你想按分数从低到高看所有成员,用 ZRANGE myzset 0 -1,如果你想把分数也一起显示出来,可以在命令最后加上 WITHSCORES,像这样:ZRANGE myzset 0 -1 WITHSCORES,这样它就会把成员和分数成对地显示出来。
除了查看值,有时候你还得先看看某个键是什么类型的,不然你用 GET 命令去查一个哈希类型的键,Redis会报错给你看,这时候可以用 TYPE 命令。TYPE user:1001,它会返回 hash,这样你就知道该用 HGETALL 之类的命令了。
有时候键太多了,用 KEYS * 有点危险,Redis提供了一个更安全的遍历命令 SCAN。SCAN 命令不会一次性返回所有键,而是一小批一小批地返回,并且会给你一个游标(cursor),你再用这个游标去取下一批,这样就不会阻塞服务器太长时间,用法稍微复杂点,比如第一次输入 SCAN 0,它会返回一个数字(18)和一部分键,然后你再输入 SCAN 18 来获取下一批,直到返回的游标是 0 为止,表示全部遍历完了。
这些操作除了在命令行里进行,在各种编程语言里(比如Python的redis模块,Java的Jedis等)也都有对应的方法,思路和命令都是一模一样的,只是写法的区别,希望这些直接的操作方法能帮到你快速查看Redis里的数据。

本文由水靖荷于2026-01-03发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:https://haoid.cn/wenda/73619.html
