You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查看Spring Boot @Cacheable存入Redis中的值

解决Spring Boot @Cacheable存入Redis后redis-cli无法查询值的问题

问题原因

你看到的Redis实际键是dataList::SimpleKey [],但查询时没有传入完整的键名(忽略了末尾的空格和[]),导致Redis找不到对应的键,返回null或none。而Spring Cache内部会严格按照生成的完整键名匹配,所以API能正常获取缓存值。

正确的查询方式

在redis-cli中查询时,需要用引号包裹包含特殊字符(空格、方括号)的完整键名:

# 获取缓存值
GET "dataList::SimpleKey []"

# 查看键的类型
TYPE "dataList::SimpleKey []"

优化建议

如果觉得默认生成的键名不直观,可通过@Cacheable的key属性自定义键规则,比如根据请求参数的唯一标识生成键:

@GetMapping("/")
@ResponseBody
@Cacheable(value = "dataList", key = "#someParameters.id") // 用参数id作为键的一部分
public SomeObject getDataList(SomeParameters someParameters){ ... }

这样生成的键会类似dataList::123(假设id是123),在redis-cli中查询会更方便。

内容的提问来源于stack exchange,提问作者William

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 04:40:35