【发布时间】:2019-03-14 14:12:24
【问题描述】:
我正在构建一个可供浏览器或其他 Web 服务使用的 RESTful Web 服务。 我愿意通过缓存来减少带宽,但是我希望执行该方法并仅在它与上次修改的缓存不同时才发送实际数据。
根据我对@cacheable注解的理解,该方法只执行一次,输出被缓存,直到缓存过期。
@CachePut 每次都会执行并更新缓存,但即使没有更新它也会再次发送缓存吗?
总结是:我需要客户端能够发送它的缓存的最后修改日期,并且只有在它被修改后才能获得新数据。
此外,Spring 如何处理客户端缓存和 if-modified-since 标头?我需要保存上次修改时间还是自动处理?
【问题讨论】:
-
使用观察者模式。如果值已更新,请将缓存中的值替换为新值。并且总是返回缓存中的那个
标签: java rest spring-mvc