我正在使用GraphQL服务器构建服务。
它具有与任何其他常用服务一样的会话和用户权限。
例如,{ viewer { friends { name } } }
对于每个用户会话看起来都不同。
缓存此类GraphQL查询结果的最佳策略是什么?
另请注意,由于这是GraphQL,因此每个查询可能看起来略有不同。例如,某些用户可能希望{ viewer { friends { id name } } }
id
为附加字段。
GraphQL是否有托管缓存解决方案? 任何在生产中使用GraphQL的人都可以分享他们的见解吗?
答案 0 :(得分:1)
如果您在javascript上运行graphql
,则可以使用Facebook强大的实用程序Dataloader
https://github.com/facebook/dataloader
它可以缓存和批量查询。
至于缓存会话查询,DataLoader
也可以这样做。
您只需为每个请求创建一个新的dataloader。更多信息可以在这里找到
https://github.com/facebook/dataloader#creating-a-new-dataloader-per-request