Graphql instagram中的查询散列是什么?
我第一次在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
{
"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服务器附带了自动持久化查询。我建议你试一试。他们已经发表了一篇关于它的博客
如果您想构建自己的解决方案,您可以使用此软件包自己进行哈希运算还有一个问题:每个用户的缓存是否不同?它就像一个存储在服务器端的数据库(所以,所有用户都一样),而不是客户端?哈希值根据查询内容的不同而不同,它与用户无关。是的,它只存储在服务器上哈希是否过期或每种查询内容的更改?