10月8日至10日加入我们,在新 York City 学习关于 GraphQL 联邦和 API 平台工程的最新技巧、趋势和新闻。加入我们,参加 2024年 GraphQL Summit 大会
文档
免费开始
您正在查看该软件先前版本的文档。 切换到最新稳定版本。

批处理操作


支持在单个 HTTP 请求中批量执行多个操作,以减少网络往返次数。无论何时您启用批处理执行操作,您的客户端都会等待一个短暂的时间间隔以收集任何 其他 可批处理的操作,这些操作也被执行。当间隔结束时,您的客户端通过单个 HTTP 请求发送所有操作。

请注意,由于等待间隔,批处理会增加操作的延迟。需要尽可能少延迟的操作可以禁用批处理

启用批处理

在初始化您的ApolloClient 实例时启用批处理,如下所示:

val apolloClient = ApolloClient.Builder()
.serverUrl("https://...")
.httpBatching()
.build()

默认情况下,批处理引擎等待10毫秒收集查询,然后发送它们,单个批次最多包含10个查询。您可以通过向 httpBatching 方法传递额外的配置选项来配置这些默认值:

.httpBatching(
batchIntervalMillis = 50, // Wait 50ms
maxBatchSize = 20 // Max 20 queries
)

选择退出/进入

默认情况下,如果您 启用批处理,则对所有操作启用。单个操作可以通过将 false 传递给 canBeBatched 方法退出批处理:

apolloClient.query(MyQuery()).canBeBatched(false).execute()

如果存在某个特定的 ,您希望其尽可能降低延迟,这将非常有用。

您还可以要求单个 操作 加入批处理。要这么做,您首先在初始化您的 ApolloClient 实例时调用 canBeBatched(false)

val apolloClient = ApolloClient.Builder()
.serverUrl("https://...")
.httpBatching()
.canBeBatched(false)
.build()

现在,批处理默认是 禁用 的,单个 操作 可以通过 canBeBatched(true) 加入批处理。

上一页
WebSocket错误
下一页
概述
评价文章评价在GitHub上编辑编辑论坛Discord

©2024Apollo Graph Inc.,商标名 Apollo GraphQL。

隐私政策

公司