响应缓存
公开的 GraphQL API 默认缓存已解析的响应。写入记录时,引用过它的缓存响应会被丢弃。
默认开启,60 秒
每个持有记录的模型缓存 60 秒。在该有效期内重复同一查询,会返回已存储的响应,而不再重新解析。普通模型在发送相同查询的调用方之间共享同一条缓存。记录有所有者的模型则按所有者缓存。
写入后的失效
创建、更新、删除、发布或取消发布记录,会丢弃所有引用过它的缓存响应。列表响应在其中任一条记录被编辑时丢弃,无关的模型不受影响。失效在写入提交之后运行,因此在几毫秒内读取仍可能得到之前的响应。如果失效丢失,有效期是兜底;如果缓存存储不可达,写入仍会提交,下一次读取会正常解析。
读取你自己的写入
mutation 响应带有 X-Foir-Write-Token 标头。在你的下一次读取中发送它,服务器只有在缓存条目至少与该次写入一样新时才会提供它。
手动清除
对于写入路径看不到的更改,foir cache purge 会清除一条记录、一个模型或全部内容。refresh mutation 则适用于内容在另一个系统中发生变化的单条记录。