Caching API应该更关注于缓存以提高响应时间,还是应该更关注于降低所需的请求数?
因此,我们有一个API,它有大量可缓存的项目,如文章和产品,但每个项目都可以附加用户特定的数据,如收藏夹和特定的计算值,并且它已经允许对每个列表端点进行过滤和排序。您需要在访问API之前进行身份验证 我们目前在API中有两种不同的数据检索方式:Caching API应该更关注于缓存以提高响应时间,还是应该更关注于降低所需的请求数?,caching,architecture,Caching,Architecture,因此,我们有一个API,它有大量可缓存的项目,如文章和产品,但每个项目都可以附加用户特定的数据,如收藏夹和特定的计算值,并且它已经允许对每个列表端点进行过滤和排序。您需要在访问API之前进行身份验证 我们目前在API中有两种不同的数据检索方式: 通过博客帖子,我们可以获得博客以及用户特定的is_Favorite和friends_Favorite数据。这不是缓存的,因为它对每个用户都是唯一的 使用store products,我们从一个端点取回产品,从另一个端点取回喜爱的产品,从而允许我们缓存产
- 通过博客帖子,我们可以获得博客以及用户特定的is_Favorite和friends_Favorite数据。这不是缓存的,因为它对每个用户都是唯一的
- 使用store products,我们从一个端点取回产品,从另一个端点取回喜爱的产品,从而允许我们缓存产品
现在是统一这些标准的时候了,我们不确定该走哪条路。降低请求数是否更重要(减少缓存并可能增加服务器成本),或拥有可缓存数据是否更好(增加响应时间并希望以牺牲多个请求为代价增加服务器成本)?没有更好的方法 如果客户端总是同时请求一些api,那么为一个请求而不是多个请求创建组合api可能是合理的 如果客户端单独请求一些API,那么缓存会更好 但这些方式并不是相互排斥的。我们使用API中的所有机制来提高速度
在您的示例中,产品有自己的缓存,但对于每个用户,用户数据可能也有缓存,而更改用户数据的事件可能会使缓存无效。您的api只是将两个缓存中的数据与一些逻辑结合起来。该死,我真的希望得到一个答案:)我想我们的问题是不知道未来会发生什么,因此,我们只能模糊地预测未来的应用程序将如何使用我们的API