当前位置: 首页 > 知识库问答 >
问题:

@请求字段上的Cacheable条件缓存

曹泉
2023-03-14

我已经使用spring@Cacheable进行缓存,如下所示:

@Cacheable
public Response mycall(Request request)

现在我希望只有在Request.getid()!=3的情况下才缓存此方法调用,其中getid()是Request类中的公共getter方法。

我见过这样的代码:人们在@cacheable中指定了除非条件,但我见过只在方法响应时指定条件,而不是在请求时指定条件。参考:我如何告诉Spring cache不在@Cacheable注释中缓存空值

在请求的字段上指定条件时,有没有任何方法可以实现同样的目标

共有1个答案

邓驰
2023-03-14
//It will cache only if the actor's age is more than 20. Here actor is the input parameter.
@Cacheable(value="movies", key="#actor.name", condition="#actor.age > 20")
public List<movie> getMovies(Actor actor) ...
 类似资料:
  • 请求缓存 支持请求缓存功能,支持对GET请求设置缓存访问,并设置有效期。 请求缓存仅对GET请求有效 有两种方式可以设置请求缓存: 路由设置 可以在路由规则里面调用cache方法设置当前路由规则的请求缓存,例如: // 定义GET请求路由规则 并设置3600秒的缓存 Route::get('new/:id','News/read')->cache(3600); 第二次访问相同的路由地址的时候,会自

  • 问题内容: 考虑具有一个字符串和两个数组的JSON表示形式。例如, 在上述情况下,需要现场,但和被 有条件地 基于所述值所需的反序列化。换句话说,如果只需要有值和如果只要求有一个值。 当前,我在Jackson和Java中工作,并且能够通过创建以下代码来实现使字段成为强制性的: 但我不能只是附加其他到或因为它依赖的价值。 我怎么能有条件地要求和反序列化基础上的价值? 另外,我将要执行额外的检查,例如

  • 我从Spring文档(https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/cache/annotation/Cacheable.html#condition--)中读到,可以使用SpEL指定方法参数的条件。 我一直在尝试同样的方法,但失败了。以下是我的方法: 这是我的POJO: 但

  • 主要内容:Maven依赖关系,HttpClient分段上传请求示例在本教程中,我们将演示如何使用Apache HttpClient 4.5进行分段上传http请求。 Maven依赖关系 我们使用maven来管理依赖关系,并使用Apache HttpClient 4.5版本。 将以下依赖项添加到您的项目中。 pom.xml 文件的内容如下 - HttpClient分段上传请求示例 在这个例子中,我们将演示如何使用HttpClient 4.5来分段上传文件。 我们使

  • 实现原理 实现参考『Thikphp 3.2-静态缓存』, 静态缓存只能提供HTML的缓存且只能以文件形式进行缓存。而请求缓存,支持ajax/html的缓存,而且可以根据缓存配置自行切换文件/redis的缓存 缓存检测: 行为app_begin时,检测路由是否需要有缓存,有则返回缓存内容(\Common\Behavior\ReadRequestCacheBehavior) 缓存更新: 行为ajax_