响应缓存

公开的 GraphQL API 默认缓存已解析的响应。写入记录时,引用过它的缓存响应会被丢弃。

默认开启,60 秒

每个持有记录的模型缓存 60 秒。在该有效期内重复同一查询,会返回已存储的响应,而不再重新解析。普通模型在发送相同查询的调用方之间共享同一条缓存。记录有所有者的模型则按所有者缓存。

写入后的失效

创建、更新、删除、发布或取消发布记录,会丢弃所有引用过它的缓存响应。列表响应在其中任一条记录被编辑时丢弃,无关的模型不受影响。失效在写入提交之后运行,因此在几毫秒内读取仍可能得到之前的响应。如果失效丢失,有效期是兜底;如果缓存存储不可达,写入仍会提交,下一次读取会正常解析。

调整与退出

有效期和作用域按模型设置,可在控制台中设置,或在你的配置文件的 cacheControl 下设置,模型也可以完全退出缓存。单个请求可用 no-cache 标头强制重新读取。mutation 和草稿读取永远不会被缓存。

读取你自己的写入

mutation 响应带有 X-Foir-Write-Token 标头。在你的下一次读取中发送它,服务器只有在缓存条目至少与该次写入一样新时才会提供它。

手动清除

对于写入路径看不到的更改,foir cache purge 会清除一条记录、一个模型或全部内容。refresh mutation 则适用于内容在另一个系统中发生变化的单条记录。

了解详情

缓存指南涵盖缓存作用域、按模型的设置、请求标头和供 CDN 使用的共享端点。