继电器缓存是如何工作的?

4

我阅读了中继缓存的文档,但感觉很混乱。

有人能解释一下primeCache是如何工作的以及它应该/可以如何使用吗?

首先,我甚至不确定缓存是在浏览器中还是在服务器端。我猜测它在浏览器中,因为他们确实谈到了客户端缓存,我是对的吗?

我也阅读了这个问题,但更加困惑了。它说:

如果Flux存储需要访问服务器数据,则可以使用Relay.Store API从服务器获取数据并从缓存中读取它。

我不明白,如果它要从缓存中读取,那么为什么需要从服务器获取数据?说实话,这没有逻辑。除非它真的是一个服务器缓存而不是浏览器缓存?此外,如果您查看与primeCache相关的Relay文档,则会发现:

Relay Store提供了一个API来将突变分派到服务器。

如果我理解正确,这些突变会更改服务器端的数据。这意味着它们确实通过存储库查询服务器端。因为您使用存储库访问primeCache,这可能意味着缓存实际上是服务器端的。

那么什么时候可以调用primeCache?如果缓存中没有任何内容,你会怎么做?它会从服务器获取结果吗?

请帮帮我。

1个回答

2
您已经了解了其中的要点。Relay 的核心思想是帮助您“组件化”查询和变更,就像 React 为 HTML 一样。Relay 将您的 React 组件与特定于该组件的内容结合在一起,并将其最优化地渲染到您的前端应用中。
现在,缓存通过将每个数据片段与唯一 ID 相关联来工作。通过 Relay 对 GraphQL 服务器进行声明式查询和变更时,该服务器会查找该数据片段,通过该唯一标识符比较您的前端缓存并仅更新差异。您可以将其想象为由 Relay 缓存引擎管理的版本控制,用于管理您前端数据的状态。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接