SpringBoot 3.3.3与Redis版本不匹配致PowerShell无法查看缓存键求助
解决SpringBoot 3.3.3写入Redis后PowerShell无法查看缓存键的问题
以下是针对问题的具体排查和解决步骤:
检查Redis键前缀/命名空间
SpringBoot的RedisTemplate默认或自定义配置中,可能会给缓存键添加前缀(比如spring:cache:或业务自定义前缀)。Another Redis Desktop Manager可能自动隐藏了前缀显示,但PowerShell里的redis-cli会显示完整键名。- 查看你的Redis配置类,确认是否设置了
keyPrefix; - 在PowerShell中执行带前缀的查询命令,比如
redis-cli keys "your-prefix:*"(替换为实际前缀),即可看到对应键。
- 查看你的Redis配置类,确认是否设置了
验证Redis CLI与服务端版本兼容性
若Redis服务端和PowerShell中使用的redis-cli版本差异较大(比如服务端7.x,CLI5.x),可能出现键列表显示异常:- 执行
redis-server --version和redis-cli --version分别查看服务端和CLI版本; - 下载与服务端同版本的CLI工具替换当前版本,重新连接后执行
keys *查看。
- 执行
确认Redis数据库索引一致性
SpringBoot默认连接Redis的db0,若你在PowerShell中切换到了其他数据库,会看不到数据:- 执行
redis-cli select 0切换到db0,再执行keys *; - 检查SpringBoot配置文件中的
spring.data.redis.database值,确保与CLI连接的数据库索引一致。
- 执行
直接验证键的存在性
在Another Redis Desktop Manager中复制键的完整名称,在PowerShell中执行redis-cli exists "完整键名",若返回1说明键确实存在,只是keys *命令因版本或过滤规则未显示。
内容的提问来源于stack exchange,提问作者user25686647
相关产品推荐
相关产品推荐

