使用权限和授权缓存GraphQL内容的最佳策略

时间:2016-09-29 23:24:19

标签: caching server graphql

我正在使用GraphQL服务器构建服务。 它具有与任何其他常用服务一样的会话和用户权限。 例如,{ viewer { friends { name } } }对于每个用户会话看起来都不同。

缓存此类GraphQL查询结果的最佳策略是什么? 另请注意,由于这是GraphQL,因此每个查询可能看起来略有不同。例如,某些用户可能希望{ viewer { friends { id name } } } id为附加字段。

GraphQL是否有托管缓存解决方案? 任何在生产中使用GraphQL的人都可以分享他们的见解吗?

1 个答案:

答案 0 :(得分:1)

如果您在javascript上运行graphql,则可以使用Facebook强大的实用程序Dataloader https://github.com/facebook/dataloader

它可以缓存和批量查询。

至于缓存会话查询,DataLoader也可以这样做。 您只需为每个请求创建一个新的dataloader。更多信息可以在这里找到 https://github.com/facebook/dataloader#creating-a-new-dataloader-per-request