npm 包 apollo-cache-control 使用教程

阅读时长 4 分钟读完

什么是 apollo-cache-control

apollo-cache-control 是一个用于控制缓存的 npm 包,它可以通过设置 HTTP header 实现对缓存行为的控制。它让你的应用更智能地使用缓存,提高应用性能的同时避免不必要的请求。

如何使用 apollo-cache-control

安装

你可以通过 npm 安装 apollo-cache-control,如下所示:

设置

在 Apollo Server 中使用 apollo-cache-control 的示例代码如下:

-- -------------------- ---- -------
----- - ------------- --- - - -------------------------
----- ------------ - --------------------------------

----- -------- - ----
  ---- ----- -
    ------ -------
  -
--

----- --------- - -
  ------ -
    ------ -- -- -
      ------ ------ --------
    --
  --
--

----- ------ - --- --------------
  ---------
  ----------
  -------- -----------------
---

----------------------- --- -- -- -
  ------------------- ----- -- ---------
---

可以在插件的参数中配置 cacheControl 选项:

-- -------------------- ---- -------
----- ------ - --- --------------
  ---------
  ----------
  -------- -
    --------------
      -------------- -----
      --------------------- -----
    ---
  --
---

在上面的示例代码中,我们设置了默认的最大缓存时间为 3600 秒,并且启用了 HTTP header 计算。

使用

在 GraphQL schema 中添加 cacheControl 指令,示例代码如下所示:

-- -------------------- ---- -------
---- ----- -
  ------ -------- --------------------- ---
-

---- ---- -
  --- ---
  ------ -------
  -------- -------
-

在上面的示例代码中,我们使用 @cacheControl 指令为查询 posts 设置了最大缓存时间为 60 秒。

缓存头设置

在客户端发出的 HTTP 请求中,cache-control 必须是 public 或 private,同时包含 max-age 或 s-maxage。

当请求被服务器处理时, apollo-cache-control 将该信息从 GraphQL schema 中解析并设置 HTTP header。

引用客户端请求头设置

客户端还可以在请求头中使用 apollo-cache-control 属性。如下所示:

上面的示例代码演示了在客户端中使用 apollo-cache-control 属性。

总结

通过使用 apollo-cache-control 包,我们可以更智能地控制使用缓存和提高我们应用的性能,在应用开发过程中是一个十分有用的工具。我们在使用过程中需要注意对 HTTP header 的设置。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/195823