我正在创建一个 RESTful API(使用 MVC.NET)来允许外部访问业务系统。API 包含一个搜索资源。该资源采用 URI 形式“/example/search/pages/1/?query=something”。
示例:要搜索披萨,您将访问 URI“/example/search/pages/1/?query=pizza”,这将为您提供前 10 个结果。要获得结果的第二页,您需要请求“/example/search/pages/2/?query=something”等。
我使用了缓存控制 HTTP 标头来启用 API 上所有资源的公共缓存,目的是显着减少服务于 API Web 应用程序的服务器上的负载。
但是我不确定要为搜索资源使用什么缓存策略。由于资源(以及它的 URI)根据您搜索的内容而有所不同,因此缓存页面似乎没有什么意义。人们为 RESTful API 上的搜索资源推荐什么缓存策略(即通过缓存控制 HTTP 标头进行缓存)?没有缓存?到期时间很短的私人缓存?有效期短的公共缓存?