gpt4 book ai didi

java - 我可以决定是否根据 Spring 中的输入缓存某些内容吗?

转载 作者:行者123 更新时间:2023-12-01 09:05:16 25 4
gpt4 key购买 nike

假设我在 Spring 中根据请求参数缓存响应。例子 :@Cacheable(value = "personDetails", key = "#personId")
公共(public) PersonDetails getPersonDetails(String personId) {
//做一点事
}

现在假设有人可以将“ALL”也作为 personId 传递,但我不想缓存它。我是否可以在运行时根据传递的输入参数决定是否缓存它。请原谅这个例子,但用例是一样的。

感谢您提前回复:)

最佳答案

是的,您可以使用condition属性。

Sometimes, a method might not be suitable for caching all the time (for example, it might depend on the given arguments). The cache annotations support such functionality through the condition parameter which takes a SpEL expression that is evaluated to either true or false.

例如:

@Cacheable(value = "personDetails", key = "#personId", condition="#personId != 'ALL'")
public PersonDetails getPersonDetails(String personId) {
// Do something
}

更多信息您可以找到here条件缓存段落下。

关于java - 我可以决定是否根据 Spring 中的输入缓存某些内容吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41330675/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com