在magento2中使用persisted-query

💡 原文中文,约3700字,阅读约需9分钟。
📝

内容提要

在Magento2中,使用persisted-query库可以提升GraphQL的响应速度。通过Redis缓存请求解析和Varnish缓存响应结果来实现。安装后需修改配置文件并运行构建命令。使用时,先发送PUT请求注册查询,再通过GET请求获取数据。

🎯

关键要点

  • 在Magento2中,使用persisted-query库可以提升GraphQL的响应速度。
  • persisted-query库通过Redis缓存请求解析和Varnish缓存响应结果来实现。
  • 该库仅用于query,不用于mutation。
  • 安装步骤包括通过composer安装和修改配置文件。
  • 使用时,需先发送PUT请求注册查询,再通过GET请求获取数据。
  • PUT请求需要带上hash参数,hash值不能重复。
  • 可以通过HTTP头设置查询的过期时间SW-cache-age。
  • 缓存无效时会返回401错误。
  • 提供了带参数和不带参数的请求示例。
  • 构造带参数的请求时,需要删除请求体中的variables并将请求方法改为PUT。

延伸问答

如何在Magento2中安装persisted-query库?

通过composer安装,命令为:composer require scandipwa/persisted-query:^2.2,之后修改配置文件并运行构建命令。

persisted-query库的主要功能是什么?

该库用于提升Magento2中GraphQL的响应速度,通过Redis缓存请求解析和Varnish缓存响应结果实现。

如何使用persisted-query库发送请求?

首先发送PUT请求注册查询,URL中需带hash参数,随后通过GET请求获取数据,GET请求也需带hash参数。

在使用persisted-query时,如何处理缓存失效?

缓存无效时会返回401错误,且可以通过命令刷新查询和响应缓存。

persisted-query库支持哪些类型的请求?

该库仅支持query请求,不支持mutation请求。

如何构造带参数的请求?

删除请求体中的variables,将请求方法改为PUT,并在URL中添加hash参数,后续请求中将variables转换为URL编码。

➡️

继续阅读