Graphql instagram中的查询散列是什么?

Graphql instagram中的查询散列是什么?,graphql,Graphql,我第一次在graphql上工作,我看到Instagram散列了他们的查询 我搜索了一些东西,但不知道是否正确。散列类似于存储在缓存中的持久化查询 还是我错了 示例:这是我的请求负载 { "operationName":"user", "variables":{}, "query":"query user {\n users {\n username\n createdAt\n _id\n }\n}\n" } 这是instagram: query_hash: 60b

我第一次在graphql上工作,我看到Instagram散列了他们的查询

我搜索了一些东西,但不知道是否正确。散列类似于存储在缓存中的持久化查询

还是我错了

示例:这是我的请求负载

{
 "operationName":"user",
 "variables":{},
 "query":"query user {\n  users {\n    username\n    createdAt\n    _id\n  }\n}\n"
}
这是instagram:

 query_hash: 60b755363b5c230111347a7a4e242001
 variables: %7B%22only_stories%22%3Atrue%7D
(它处于urlencode模式)

现在,我如何散列我的查询?我使用NodeJS作为后端,react js作为前端。
我想了解它是如何工作的(x)!谢谢你们

持久化查询通过减小请求大小来提高GraphQL网络性能

不发送可能很长的完整查询,而是向GraphQL服务器发送一个哈希,该服务器将使用哈希作为键从键值存储中检索完整查询

键值存储可以是
memcached
redis

Apollo服务器附带了自动持久化查询。我建议你试一试。他们已经发表了一篇关于它的博客


如果您想构建自己的解决方案,您可以使用此软件包自己进行哈希运算

还有一个问题:每个用户的缓存是否不同?它就像一个存储在服务器端的数据库(所以,所有用户都一样),而不是客户端?哈希值根据查询内容的不同而不同,它与用户无关。是的,它只存储在服务器上哈希是否过期或每种查询内容的更改?