GraphQL:Apollo客户端缓存如何保持数据与服务器的一致性?
我正在使用GraphQL:Apollo客户端缓存如何保持数据与服务器的一致性?,graphql,apollo,apollo-client,apollo-cache-inmemory,Graphql,Apollo,Apollo Client,Apollo Cache Inmemory,我正在使用apollo客户端和apollo内存缓存 假设我有两个页面:项目列表页面和项目详细信息页面 项目列表页面显示(通过使用客户端查询(…)获取数据): 项目A B项 项目C 当导航到项目B的项目详细信息页面时,我使用变异技术对项目B进行变异,包括store.readQuery和store.writeQuery,如下所述: 现在,在导航回项目列表页面之前,假设我的应用程序的另一个用户对项目A进行了修改 我的问题是: 当我导航回项目列表页面时,我是从缓存还是从服务器获取数据?客户端查询(…
apollo客户端
和apollo内存缓存
假设我有两个页面:项目列表页面和项目详细信息页面
项目列表页面显示(通过使用客户端查询(…)获取数据)
:
- 项目A
- B项
- 项目C
store.readQuery
和store.writeQuery
,如下所述:
现在,在导航回项目列表页面之前,假设我的应用程序的另一个用户对项目A进行了修改
我的问题是:
客户端查询(…)
始终从服务器获取数据?如果您想保持数据同步,即使其他用户更改了数据,您需要始终从服务器获取数据,或者在服务器和客户端上实现订阅。这样,当数据更改时,您可以推送新事件,并让客户端订阅这些更改以保持同步他们的缓存会实时更新。啊,对了,现在越来越清晰了。但是客户端.query
调用默认情况下总是从服务器获取数据吗?客户端的行为可以使用该选项在每次查询的基础上进行修改。缓存优先
是默认设置。非常感谢。我现在已经得到了它。