在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编码。
➡️