本页面内容已迁移至 分布式存储 — Redis。以下内容保留作为参考,但建议使用新文档。
Redis 状态存储
agentscope-extensions-redis 把 AgentScope 的 Agent 状态存到 Redis。统一抽象出 RedisClientAdapter,支持 Jedis、Lettuce、Redisson 三个客户端,覆盖 Standalone、Cluster、Sentinel 等部署模式。
添加依赖
快速上手(Lettuce 单机)
三种客户端的接入
Jedis
Lettuce 集群
Redisson
Redisson 还支持useClusterServers()/useSentinelServers()/useMasterSlaveServers(),配好后照样传给redissonClient(...)。
自定义 key 前缀
默认所有 key 形如agentscope:session:{userSegment}/{sessionId}:...(userSegment 即 userId,匿名 session 用 __anon__)。多个项目共享同一个 Redis 时建议自定义:
Key 结构
(userId, sessionId) 二元组会被打包成单一槽位标识 {userSegment}/{sessionId}(userSegment 为 userId,userId 为 null 时取 __anon__)。
_keys 索引让 delete(userId, sessionId)、exists(userId, sessionId) 都只需要常数次 Redis 调用,避免 KEYS *。
挂载到 Agent
RuntimeContext 决定:
自定义客户端适配
如果你需要接其他 Redis 兼容存储(比如 KeyDB、Tair),可以实现RedisClientAdapter 然后通过 clientAdapter(...) 注入:
Builder 配置参数
上述客户端方法互斥,只设置一个。