使用 Redis CLI 命令直接查看数据是最简单的方式:
redis-cli
keys * # 查看所有键
type keyname # 查看键类型
对于 String: get keyname
对于 List: lrange keyname 0 -1
对于 Set: smembers keyname
对于 Hash: hgetall keyname
对于 Sorted Set: zrange keyname 0 -1 withscores
方法一:使用 redis-cli 命令行工具
连接到Redis:redis-cli -h host -p port -a password
查看所有键:KEYS *
查看键的类型:TYPE key
String类型:GET key
List类型:LRANGE key 0 -1
Set类型:SMEMBERS key
Hash类型:HGETALL key
ZSet类型:ZRANGE key 0 -1 WITHSCORES
方法二:使用 RedisInsight 图形化工具
下载安装 RedisInsight,连接 Redis 服务器,浏览器界面显示所有数据库、键列表,点击键名即可查看值,支持树状展开 Hash、List 等,支持搜索和过滤。
方法三:通过编程语言客户端查看
Python 示例:
import redis
r = redis.Redis(host='localhost', port=6379, db=0)
keys = r.keys('*')
for key in keys:
typ = r.type(key)
if typ == b'string': print(key, r.get(key))
elif typ == b'list': print(key, r.lrange(key, 0, -1))
# 类似处理其他类型
方法四:redis-cli 的 SCAN 命令(推荐大数据量)
KEYS * 会阻塞服务器,使用 SCAN 迭代:
SCAN 0 MATCH * COUNT 100
继续用返回的 cursor,直到 cursor=0
方法五:使用 redis-cli --scan 和 --pattern
redis-cli --scan --pattern 'user:*'
FAQ
Q: 如何查看 Redis 中所有数据库?
A: 使用 SELECT 0 到 SELECT 15 切换数据库,或者 redis-cli -n dbnumber。
Q: KEYS 命令为什么不推荐生产环境?
A: 因为大数据量时会阻塞服务器,用 SCAN 代替。
Q: 如何查看键的 TTL?
A: TTL key,返回剩余秒数,-1 表示永不过期。
Q: RedisInsight 支持哪些平台?
A: Windows、Mac、Linux,还有 Docker 版本。