gpt4 book ai didi

java - @Cacheable注解的方法在实际数据修改时执行吗?

转载 作者:行者123 更新时间:2023-11-30 05:43:54 25 4
gpt4 key购买 nike

我正在构建一个可由浏览器或其他 Web 服务使用的 RESTful Web 服务。我愿意通过缓存减少带宽,但是我希望仅在与上次修改的缓存不同时执行该方法并发送实际数据。

根据我对@cacheable注解的理解,该方法只执行一次,并且输出会被缓存,直到缓存过期。

@CachePut 每次都会执行并更新缓存,但即使没有更新它也会再次发送缓存吗?

总结是:我需要客户端能够发送其缓存的最后修改日期,并且仅在修改后才获取新数据。

Spring 如何处理客户端缓存和 if-modified-since header ?我需要保存上次修改时间还是自动处理?

最佳答案

不,你需要自己做。

您需要使用 @Cacheable( docs ) 注释“fetch”方法,然后使用 @CacheEvict ( docs ) 注释“update”方法为了“删除”你的缓存。因此,当您下次在修改后获取数据时,它将是新鲜的。

或者,您可以使用 @CacheEvict 创建另一个方法,并从“update”方法手动调用它。

关于java - @Cacheable注解的方法在实际数据修改时执行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55164703/

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