智能体服务器 内置了缓存功能,您可以在部署的图中使用。调用Documentation Index
Fetch the complete documentation index at: https://langchain-zh.cn/llms.txt
Use this file to discover all available pages before exploring further.
swr 并传入一个键和一个加载函数,服务器将缓存结果、在后台重新验证过期的条目,并在每次读取时返回最新数据。
所有缓存 API 仅限服务端使用,需要 LangGraph 智能体服务器运行时环境。缓存值必须是 JSON 可序列化的。
swr 需要智能体服务器运行时 v0.7.79 或更高版本,目前处于 测试阶段。
cache_get 和 cache_set 需要 v0.7.29 或更高版本。快速开始
传入一个键和一个异步加载函数。swr 会返回缓存值(如果可用),否则调用您的加载函数来获取:
swr 会等待 load_config() 并缓存结果。后续调用时,它会立即返回缓存值并在后台重新验证。
配置新鲜度
控制缓存值被视为新鲜的时间以及何时过期:| 参数 | 默认值 | 描述 |
|---|---|---|
fresh_for | timedelta(0) | 将缓存值视为新鲜的持续时间。在此窗口期内,swr 直接返回缓存值,无需重新验证。 |
max_age | timedelta(days=1) | 缓存条目的最长生存时间。超过此时间后,swr 会等待加载函数完成后再返回。上限为 1 天。 |
重新验证的工作原理
| 缓存状态 | 条件 | 行为 |
|---|---|---|
| 未命中 | 键不在缓存中 | 等待 loader() 完成,存储结果并返回。 |
| 新鲜 | age < fresh_for | 返回缓存值,不进行重新验证。 |
| 过期 | fresh_for <= age < max_age | 立即返回缓存值,触发后台刷新。 |
| 已失效 | age >= max_age | 等待 loader() 完成,存储结果并返回。 |
与 Pydantic 模型结合使用
传入model 参数以自动序列化和反序列化 Pydantic 模型:
swr 在存储前调用 model_dump(mode="json"),在读取时调用 model.model_validate()。
缓存认证凭据
您可以在自定义认证处理器中缓存凭据验证,以避免每次请求都访问身份提供商:validate_and_fetch_user 完成。
检查缓存状态
swr 返回一个 SWRResult 对象,包含值和缓存状态:
.mutate() 来更新缓存值或强制重新验证:
底层缓存 API
对于无需重新验证的简单获取/设置缓存,可以直接使用cache_get 和 cache_set:
cache_get
None。
cache_set
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
key | str | 必需 | 缓存键 |
value | Any | 必需 | 要缓存的值。必须是 JSON 可序列化的 |
ttl | timedelta | None | None | 生存时间。服务器将其上限设为 1 天。None 或零值默认为 1 天 |
后续步骤
- 为您的部署添加自定义认证。
- 添加自定义生命周期事件以在服务器启动时初始化资源。
- 了解智能体服务器架构。
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

