API 应该更多地关注缓存以缩短响应时间,还是减少所需的请求数量?

Should an API be focused more on caching to improve response times, or on lowering the number of requests required?

因此,我们有一个 API,其中包含大量可缓存的项目,例如文章和产品,但每个项目都可以附加 user-specific 数据,例如收藏夹和特定,计算值,并且它已经允许在每个列表 GET 端点上进行过滤和排序。您需要在访问 API.

之前进行身份验证

我们在 API:

中有当前 2 种不同的检索数据方式

是时候统一这些了,我们不确定该走哪条路。 降低请求数量(减少缓存并可能增加服务器成本)更重要,还是更好?有可缓存的数据(增加响应时间并希望服务器成本以多个请求为代价)?

没有更好的方法。

如果客户请求一些 api 总是在一起,那么为一个请求而不是多个请求创建组合 api 可能是合理的。

如果客户端分别请求一些api,那么缓存会更好。

但这些方式并不相互排斥。我们使用 API 中的所有机制来提高速度。

在您的示例中,产品有自己的缓存,但用户数据也可能有缓存,对于每个用户,更改用户数据的事件可能会使缓存无效。而您的 api 只是结合来自两个带有一些逻辑的缓存。