我试图在Sping Boot 应用程序中缓存静态列表,以根据某些条件获取静态列表。我在下面
Springboot v2.5.12
@Caching(cacheable =
{
@Cacheable( value="lists_", key = "{#a,#b}", condition = "#b=='states'"),
@Cacheable( value="lists_", key = "{#a,#b}", condition = "#b=='programs'")
})
public ResponseBody<List<String>> getStaticLists(String a, String b, HttpHeaders headers)
{
// implementaionCode
}
的想法是为每种类型的.
但它并没有像预期的那样工作。是否有任何错误,在上述实施或我们需要使用自定义密钥生成器来生成密钥.
基于多个关键参数缓存不同的静态值。
1条答案
按热度按时间3qpi33ja1#
当前实现的问题在于,您为同一个缓存定义了两个相互矛盾的条件。应该是这样的: