Memory Cache

🧠 Redis 驱动的高性能 Agent 缓存

基于 Redis 的高性能临时存储系统,支持命名空间键值、TTL 管理和会话上下文缓存,适用于 Agent 状态保存与跨代理数据共享。

收藏
10.2k
安装
2.3k
版本
1.1.9
CLS 安全性认证2026-05-08
点击查看完整报告 >

使用说明

核心用法

Memory Cache 是一个标准化的 Redis 后端缓存系统,专为 OpenClaw Agent 设计。通过命令行工具 cache_manager.py 实现键值存储与检索,支持 set/get/scan/ping 等操作,并内置 TTL 过期机制。

主要功能场景:
1. Agent 状态保存 —— 使用 mema:context:* 命名空间存储会话状态

2. API 结果缓存 —— 通过 mema:cache:* 缓存易失性数据,可配置 --ttl 参数

3. 跨代理数据共享 —— 利用 mema:state:* 命名空间实现持久化状态同步

使用示例

# 存储带 1 小时过期的缓存
python3 cache_manager.py set mema:cache:user_profile '{"id":123}' --ttl 3600

# 检索数据
python3 cache_manager.py get mema:cache:user_profile

# 扫描匹配键
python3 cache_manager.py scan "mema:cache:*"

显著优点

  • 高性能:基于 Redis 内存存储,读写延迟极低
  • 命名空间隔离:强制 mema: 前缀,避免键值冲突
  • TTL 自动过期:支持精细化缓存生命周期管理
  • 标准化接口:统一 CLI 工具,降低多 Agent 集成成本
  • 环境友好:仅需 REDIS_URL 环境变量即可运行

潜在缺点与局限性

  • 外部依赖强:必须部署并维护 Redis 服务,增加运维复杂度
  • 无内置加密:Redis 默认明文传输,敏感数据需额外 TLS 配置
  • 内存成本:大量缓存数据会消耗服务器内存资源
  • 网络单点故障:Redis 宕机将直接导致缓存功能失效
  • CLI 仅支持基础类型:复杂对象需手动序列化为 JSON 字符串

适合人群

  • 需要跨多个 Sub-agent 共享状态的 OpenClaw 开发者
  • 希望减少 API 重复调用的 Agent 架构师
  • 已有 Redis 基础设施的运维团队

常规风险

| 风险类型 | 说明 | 缓解建议 |
|---------|------|---------|
| 数据泄露 | Redis 默认无认证,暴露端口易被攻击 | 配置 `requirepass` + 防火墙限制 |
| 缓存穿透 | 大量无效 key 请求直达后端 | 配合布隆过滤器或空值缓存 |
| 内存溢出 | 未设置 TTL 导致数据堆积 | 强制默认 TTL + 内存淘汰策略 |
| 序列化错误 | 手动 JSON 字符串操作易出错 | 封装统一数据模型层 |

安全解读

核心功能概述

memory-cache 是一个基于 Redis 的标准化缓存系统,专为 OpenClaw 智能体架构设计。它提供高性能的临时存储能力,支持三种核心场景:(1) 保存智能体运行状态,(2) 缓存 API 调用结果避免重复请求,(3) 在多个子智能体之间共享数据。通过严格的 mema: 命名空间前缀(mema:context:* 会话状态、mema:cache:* 易失数据、mema:state:* 持久状态),实现数据隔离与类型化管理。

显著优点

安全性卓越:六维深度检测均通过,静态分析得分95分,无危险函数、硬编码密钥或数据外泄风险。依赖仅使用官方 redis-py 和 python-dotenv,无已知 CVE。网络行为完全受限——仅连接用户配置的 Redis 服务器,无第三方 API 调用或追踪行为。

架构设计规范:命令行接口清晰(set/get/scan/ping),TTL 管理灵活,输入验证完善。代码结构简洁(359行/7文件),错误处理机制健全。

隐私合规:严格遵循 GDPR 数据最小化原则,仅读取 REDIS_URL 环境变量,不采集用户敏感信息。

潜在局限

  • 外部依赖必需:必须预装 Redis 服务并配置 REDIS_URL,无法开箱即用
  • 无内置加密传输:默认依赖用户自行配置 rediss:// TLS 连接,文档未强制强调
  • 许可证缺失:当前未指定开源协议,存在使用条款模糊风险
  • 无高可用设计:单点 Redis 连接,无集群或哨兵模式支持说明

适用人群

  • 需要跨会话保持智能体状态的开发者
  • 构建多智能体协作系统、需共享内存的架构师
  • 追求企业级安全标准、对依赖审计有要求的团队

常规风险提示

尽管安全评级为 S,仍需注意:Redis 默认无认证时存在未授权访问风险;生产环境务必启用 TLS 与密码认证;TTL 设置不当可能导致关键状态过早失效。

Memory Cache 内容

references文件夹
scripts文件夹
手动下载zip · 5.0 kB
key-standards.mdtext/markdown
请选择文件