使用jetcache遇到的问题

错误1:因为接口没有入参,在key中使用的固定的字符串,使用时报错SpelEvaluationException。

org.springframework.expression.spel.SpelEvaluationException: EL1008E: Property or field 'all' cannot be found on object of type 'com.alicp.jetcache.anno.method.SpringCacheInvokeContext' - maybe not public or not valid?

解决:使用字符串时需要加上''

@Cached(name = xxx, key = "'all'"...)

问题2:当入参是"result"时,缓存不生效

@Cached(name = BANNER_INVEST_CLUES, key = "#result", expire = 5 * ONE_MINUTE, postCondition = "result.size != 0")
    public List<InvestCluesRespDto> handleInfoClue(String result) {
    	...
    }

解决:不要用result
有没有大神能解释下是什么原因

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot 3.0 目前还没有正式发布,所以还不能确定它是否添加了对 Jetcache 的官方支持。但是,你可以在你的 Spring Boot 项目中手动集成 Jetcache。 要在 Spring Boot 项目中使用 Jetcache,首先需要添加 Jetcache 的相关依赖。你可以在 Maven 或者 Gradle 的配置文件中添加以下依赖: Maven: ```xml <dependency> <groupId>com.alicp.jetcache</groupId> <artifactId>jetcache-starter-redis</artifactId> <version>2.6.0</version> </dependency> ``` Gradle: ``` compile group: 'com.alicp.jetcache', name: 'jetcache-starter-redis', version: '2.6.0' ``` 上述依赖是使用 Redis 作为缓存后端的示例,如果你想使用其他的缓存后端,可以根据需要选择不同的依赖。 接下来,你需要在你的 Spring Boot 配置文件中配置 Jetcache 的相关信息。以下是一个示例配置: ```yaml spring: jetcache: enabled: true remote: server-addrs: redis://localhost:6379 ``` 这个示例配置将启用 Jetcache,并将 Redis 作为缓存后端。 最后,在你的代码中使用 `@Cached` 注解来标记需要缓存的方法,例如: ```java import com.alicp.jetcache.anno.Cached; @Cached(name = "myCache", expire = 3600) public String getData(String key) { // 从数据库或其他数据源获取数据的逻辑 // ... } ``` 这样,`getData` 方法的返回值将被缓存起来,下次调用时可以直接从缓存中获取,而不需要执行方法体。 这只是一个简单的示例,你可以根据实际需求配置更多的缓存策略和选项。Jetcache 提供了丰富的功能和选项,你可以参考 Jetcache 的官方文档以获取更多详细信息和示例代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值