从10月8日至10日加入我们,在纽约市了解有关GraphQL联盟和API平台工程的最新技巧、趋势和新闻。加入我们参加2024年在纽约市的GraphQL峰会
文档
免费开始
您正在查看此软件先前版本的文档。 切换到最新稳定版本。

Apollo Kotlin 中的缓存

介绍


支持多种客户端缓存格式,以满足不同目的。它内置的归一化缓存特别适用于以高效、去重的方式存储 GraphQL 操作结果。

此外,Apollo Kotlin还支持使用服务器端缓存操作字符串,通过持久查询

以下是所有支持的缓存的摘要

缓存描述
内置 归一化缓存去重 GraphQL 响应数据,使您的应用程序能够将其用作 UI 的真相之源。还可以动态响应对该数据的变化。包括内存和 SQLite 缓存,并且您可以使用这两者来结合内存速度与 SQLite 持久性。
内置 HTTP 缓存在 HTTP 层缓存响应数据。启动更快,比归一化缓存使用更少的 CPU,但重复数据,并且不能作为真相之源。
外部缓存如果您已经使用外部缓存(如Room或SQLDelight),则可以与Apollo Kotlin一起使用它。您不是使用Apollo处理网络和数据存储域,而是使用为网络生成的模型并将它们映射到您自己的数据库模型。
持久查询(APQ)

使用 ,客户端将大多数查询的 哈希值 发送到服务器,而不是发送查询本身。这使得请求变得更小,并可以使用GET请求代替POST请求。这反过来又使得在CDN级别缓存结果成为可能。服务器还会缓存您的查询字符串,这意味着它不需要每次发送特定查询时都进行解析。

可以是 自动 持久查询(配置简单),或者您可以使用 自定义持久查询ID

客户端和服务器端缓存不是互斥的,大多数全栈应用程序都使用两种缓存。使用与 相关的标准化缓存可以帮助您最小化网络请求次数,同时也充分利用CDN处理必需的请求。

上一个
持久查询
下一个
标准化缓存
评估文章评价在GitHub上编辑编辑论坛Discord

©2024由Apollo Graph Inc.运营的Apollo GraphQL。

隐私政策

公司