Skip to main content
智能体服务器 包含一个内置缓存,您可以在部署的图中使用。使用键和加载函数调用 swr,服务器会缓存结果,在后台重新验证过期条目,并在每次读取时返回新鲜数据。 所有缓存 API 均为仅限服务器端,并且需要 LangGraph 智能体服务器运行时。值必须是可 JSON 序列化的。
swr 需要智能体服务器运行时 v0.7.79 或更高版本,目前处于 Beta 阶段。 cache_getcache_set 需要 v0.7.29 或更高版本。

快速开始

传递一个键和一个异步加载函数。swr 会返回缓存值(如果可用),否则调用您的加载函数来获取:
在第一次调用时,swr 会等待 load_config() 完成并缓存结果。在后续调用中,它会立即返回缓存值,并在后台进行重新验证。

配置新鲜度

控制缓存值被视为新鲜的时长以及何时过期:

重新验证的工作原理

与 Pydantic 模型一起使用

传递 model 参数以自动序列化和反序列化 Pydantic 模型:
swr 在存储前调用 model_dump(mode="json"),在读回时调用 model.model_validate()

缓存认证凭据

您可以在自定义认证处理器中缓存凭据验证,以避免每次请求都访问您的身份提供商:
通过此设置,服务器在 5 分钟内返回缓存的用户而不进行重新验证,然后在后台重新验证最多 1 小时。1 小时后,下一个请求将阻塞,直到 validate_and_fetch_user 完成。

检查缓存状态

swr 返回一个包含值和缓存状态的 SWRResult 对象:
调用 .mutate() 以更新缓存值或强制重新验证:

底层缓存 API

对于不涉及重新验证的简单 get/set 缓存,请直接使用 cache_getcache_set

cache_get

返回反序列化后的值,如果键不存在或已过期则返回 None

cache_set

后续步骤