Redis缓存查看实战指南,掌握缓存查询技巧,分享高效排查方法

文章导读
使用redis-cli连接Redis后,直接运行KEYS *查看所有键,SMEMBERS key_name获取集合内容,HGETALL key_name列出哈希所有字段值,结合MONITOR实时监控命令操作,快速定位缓存问题。
📋 目录
  1. Redis缓存查看实战指南,掌握缓存查询技巧,分享高效排查方法
  2. 快速查看所有缓存键
  3. 检查具体数据内容
  4. 监控缓存命中和大小
  5. 排查缓存失效问题
  6. 大key分析和优化
  7. FAQ
A A

Redis缓存查看实战指南,掌握缓存查询技巧,分享高效排查方法

使用redis-cli连接Redis后,直接运行KEYS *查看所有键,SMEMBERS key_name获取集合内容,HGETALL key_name列出哈希所有字段值,结合MONITOR实时监控命令操作,快速定位缓存问题。

快速查看所有缓存键

redis-cli -h 127.0.0.1 -p 6379进入命令行,输入KEYS *列出所有键名,如果键太多用SCAN 0 MATCH "*user*" COUNT 100分页扫描避免阻塞。实际案例:线上服务键爆炸时,先SCAN过滤用户相关键,再用TTL key检查过期时间,节省排查时间。

检查具体数据内容

对于String类型直接GET key,对于List用LRANGE key 0 -1全取或LRANGE key 0 10取前10个,对于Set用SMEMBERS key全取或SCARD key只看数量,哈希用HGETALL key或HKEYS key列键。实战中发现缓存穿透,用HSET user:123 name "张三" age 25设置测试数据,然后HGETALL验证。

Redis缓存查看实战指南,掌握缓存查询技巧,分享高效排查方法

监控缓存命中和大小

运行INFO keyspace查看每个db键数量和过期键,INFO stats看命中率evicted_keys驱逐数。经验分享:命中率低于80%时,用SLOWLOG GET 10查慢查询,优化大key如用pipeline批量操作。代码示例:redis-cli --latency显示延迟,结合INFO memory看内存用量超标时DEL大key。

Redis缓存查看实战指南,掌握缓存查询技巧,分享高效排查方法

排查缓存失效问题

用MONITOR观察实时命令,找出频繁SET覆盖或DEL删除操作,结合EXPIRE key 3600设置过期避免无限增长。高效方法:写脚本for key in $(redis-cli KEYS "session:*" ); do echo $key $(redis-cli TTL $key); done批量查TTL,快速发现即将过期键导致的雪崩。

大key分析和优化

redis-cli --bigkeys采样大key,MEMORY USAGE key精确计算内存。分享案例:List存1万条数据用LLEN检查后,改为分页LRANGE key start end,或拆分成多个小key。排查热点key用redis-cli --hotkeys找出访问Top key,添加读写分离实例。

Redis缓存查看实战指南,掌握缓存查询技巧,分享高效排查方法

FAQ

如何快速找回丢失的缓存键?用SCAN命令迭代搜索,避免KEYS *阻塞,用MATCH "prefix*"过滤。
缓存内存满了怎么处理?运行INFO memory看used_memory,删除不活跃key或调大maxmemory并设allkeys-lru策略。
为什么缓存查询总是慢?检查慢日志SLOWLOG GET,用pipeline批量命令或优化数据结构如用Hash代替大String。