如何从一组REST服务管理HTTP缓存过期

时间:2013-03-14 02:55:03

标签: java http rest caching

我在Web应用程序的服务器端以Java实现了30个REST服务。它们都具有硬编码的缓存过期设置,这些设置被放入HTTP响应头中。管理这些设置的最佳做法是什么?

  • 保持硬编码?
  • 如果需要更改,
  • 有一个配置文件来管理设置?
  • 按服务名称将它们保存在数据库表中?
  • 是否有现有的框架来帮助管理这个?

我确实有一些非常静态且不太可能改变的数据,还有我根本不想缓存的数据。

我搜索过,所以我没有看到像这样的问题。

编辑:这是RESTful API as defined by Wikipedia的约束之一。客户端应该能够缓存服务器收到的某些数据。

最佳做法是什么?

1 个答案:

答案 0 :(得分:2)

我假设每个服务都有不同但固定的缓存时间。如果您发现需要更改它们,我可以在属性文件或servlet配置的一部分中对它们进行配置。数据库似乎过度,查找需要时间。

如果设置在请求参数级别而不仅仅是服务级别发生变化,则可能需要将它们构建为响应的一部分,就像现在一样。无论哪种方式,您可能想要自己的独立缓存服务器端。