Jan*_*mes 6 rest caching graphql
我们正在构建一个请求很多的API,现在考虑使用GraphQL,REST或REST和GraphQL的组合.我们喜欢前端可以决定的GraphQL方法,返回哪些数据并查看其优点.但另一方面,由于我们存储的数据类型(产品和产品配置),我们担心缓存.目前我们看到以下选项:
仅使用GraphQL:允许我们加快前端开发,并为我们的API提供更大的灵活性,以便将来实施.但是,通过大量的产品,我们希望使用基本的http缓存功能和我们的CDN.
仅使用REST:允许我们在每个请求上使用标准http缓存,但每个前端请求都需要一个已定义的端点.
所以基本上我想知道GraphQL的缓存能力是否与REST相同?
作为一个加号我们考虑组合它.原因是我们有一个后端缓存来缓存来自后端系统的数据:
product/1,它将提供产品数据和所有配置.然后将其保存在我们的后端缓存中.然后,前端开发人员可以使用GraphQL来整理特定视图所需的配置部分(例如:product/1?query = SomeGraphQLQuery').因此,REST-Endpoint用于服务器缓存,而GraphQL用于客户端缓存.这种方法在'GraphQL'世界中是否有意义,还是只是一个无用的抽象层并没有带来改进?
缓存、服务器端和客户端有多种解决方案。我不认为 REST 在这里有优势......
您可以让解析器缓存数据并实现 pubsub 以了解何时需要清除数据,您也可以在客户端上进行某种缓存。
没有理由将两者结合起来。我觉得真正的问题不是你是否可以使用 GraphQL 成功缓存,而是“哪种方式可以做到这一点”?
| 归档时间: |
|
| 查看次数: |
602 次 |
| 最近记录: |