Skip to main content
智能体服务器 内置了缓存功能,您可以在部署的图中使用。调用 swr 并传入一个键和一个加载函数,服务器将缓存结果、在后台重新验证过期的条目,并在每次读取时返回最新数据。 所有缓存 API 仅限服务端使用,需要 LangGraph 智能体服务器运行时环境。缓存值必须是 JSON 可序列化的。
swr 需要智能体服务器运行时 v0.7.79 或更高版本,目前处于 测试阶段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

对于无需重新验证的简单获取/设置缓存,可以直接使用 cache_getcache_set

cache_get

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

cache_set

后续步骤