上一篇
场景引入:
凌晨三点,你正盯着服务器监控面板,突然发现某个关键接口响应异常,日志显示缓存数据可能有问题,但你知道Redis里存了十几GB的业务数据,怎么快速确认目标Key里到底存了什么?别急,掌握这几个命令,你就能像查字典一样轻松查看Redis中的任何内容。
适用场景:最简单的键值对查询,比如缓存用户Token、配置项等。
# 语法 127.0.0.1:6379> GET your_key_name # 示例(查询用户会话) 127.0.0.1:6379> GET user:10086:session "{\"token\":\"a1b2c3\",\"expire\":1735660800}"
注意:若Key不存在返回(nil)
,非字符串类型会报错。
适合存储对象属性,比如用户资料:
# 获取哈希所有字段和值 127.0.0.1:6379> HGETALL user:10086:profile 1) "name" 2) "张三" 3) "age" 4) "28" 5) "vip_level" 6) "3" # 查询单个字段 127.0.0.1:6379> HGET user:10086:profile name "张三"
查看消息队列或最新动态:
# 查看列表前10条(0到9) 127.0.0.1:6379> LRANGE news:latest 0 9 1) "2025-08-01:油价调整通知" 2) "2025-07-31:台风预警"
适用于标签、好友列表等:
0.0.1:6379> SMEMBERS user:10086:tags 1) "科技" 2) "数码" 3) "旅行"
按分数排序的场景如排行榜:
# 查看游戏排行榜前3名(WITHSCORES显示分数) 127.0.0.1:6379> ZRANGE game:rank 0 2 WITHSCORES 1) "玩家A" 2) "9850" 3) "玩家C" 4) "8720"
当值包含不可见字符时,用DUMP命令获取二进制安全表示:
0.0.1:6379> DUMP encrypted:data "\x00\x15\x7F\xE2...(二进制数据)"
不确定Key类型时两步操作:
# 先确认类型 127.0.0.1:6379> TYPE my_key hash # 再使用对应命令查看 127.0.0.1:6379> HGETALL my_key
处理百万级成员的集合时避免阻塞:
# 分批遍历Hash字段 127.0.0.1:6379> HSCAN huge_hash 0 COUNT 100 1) "下次游标值" 2) 返回的字段值对...
生产环境慎用KEYS:
用SCAN
替代KEYS *
,避免阻塞Redis服务。
TTL检查:
查看剩余过期时间避免拿到已失效数据:
0.0.1:6379> TTL user:10086:session (integer) 86400 # 剩余秒数
编码优化提示:
若Value超过10KB,考虑压缩或拆分存储。
:
从GET
到HSCAN
,根据数据类型选择对应命令组合,配合TYPE
检测和TTL
验证,能高效排查大部分缓存问题,建议将常用命令保存为脚本,比如redis-check.sh "user:*:profile"
快速批量检查用户资料。
(本文操作基于Redis 7.2版本验证,2025年8月最新实践)
本文由 鄂令婧 于2025-08-04发表在【云服务器提供商】,文中图片由(鄂令婧)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/533402.html
发表评论