缓存如何在GraphQL中工作?

时间:2018-02-22 04:17:31

标签: caching graphql

GraphQL作为始终针对单个端点的查询语言发布。因此大多数缓存工具都无法使用。那么GraphQL完全不可能实现网络缓存吗?客户端缓存是唯一可能的缓存方式吗?或者有解决方法吗?

1 个答案:

答案 0 :(得分:0)

对GraphQL API使用HTTP传输时,您可以像任何其他HTTP流量一样缓存HTTP响应。通常,CDN将对完整请求进行哈希处理,然后使用该哈希缓存响应。当下次遇到相同的请求时,它不会连接到您的GraphQL服务器,它只会响应缓存的结果。

GraphQL的挑战在于它传统上是通过POST发送的,许多CDN都不支持。您可以将GET与普通CDN(hereFastlyCloudflare)一起使用,也可以使用特定于GraphQL的CDN(Cloudfront)。

完全披露:在遇到此问题后我构建了FastQL。