Memory Cache

🧠 Redis 驱动的 Agent 记忆中枢

storage榜 #10

基于 Redis 的高性能临时存储方案,支持会话状态持久化、API 结果缓存及跨会话数据共享,采用严格的命名空间隔离策略。

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

使用说明

核心用法

Memory Cache 是一个面向 Agent 系统的 Redis 封装层,提供标准化的键值存储能力。核心交互通过 scripts/cache.py 脚本完成,支持 set/get/delete 基础操作及 SCAN 安全扫描。所有键必须遵循 mema:<category>:<name> 命名规范,内置三类语义前缀:mema:context:* 用于短期会话状态,mema:cache:* 存储易失性 API 缓存,mema:state:* 实现跨会话持久化。TTL 机制可控制数据生命周期。

显著优点

  • 性能优异:基于 Redis 内存存储,读写延迟极低,适合高频临时数据场景
  • 跨会话共享:突破单次对话的上下文限制,实现 Agent 长期记忆能力
  • 命名空间隔离:强制 mema: 前缀有效避免与其他 Redis 库冲突
  • 部署灵活:支持标准 URL 或分 host/port 配置,兼容本地及云端 Redis 实例
  • 容错设计:内置连接重试与超时处理,提升服务稳定性

潜在局限

  • 外部依赖:必须独立部署并维护 Redis 服务,增加基础设施复杂度
  • 无结构化查询:仅支持键值模式,无法执行复杂数据检索
  • Python 环境依赖:首次运行需初始化 venv 并安装依赖,冷启动存在延迟
  • 容量风险:纯内存存储,大数据量场景需监控内存使用并配置淘汰策略

适合人群

需要构建长期记忆 Agent 的开发者、希望缓存昂贵 API 调用以降低成本的应用场景、以及有多轮对话状态持久化需求的对话系统架构师。

常规风险

  • 数据持久性:默认配置下 Redis 重启可能导致数据丢失,关键业务需确认持久化策略
  • 密钥泄露:REDIS_URL 包含认证信息,需确保 .env 文件不被误提交
  • 键名冲突:虽强制前缀规范,但同一前缀内的命名管理仍需人工约束
  • 未限流风险:高频写入可能对 Redis 造成压力,生产环境建议配套监控

安全解读

核心用法

Memory Cache 是一款基于 Redis 的高性能临时存储 Skill,专为 Agent 会话间的状态共享与数据缓存设计。核心功能围绕三类键空间展开:mema:context:* 存储短期会话状态,mema:cache:* 缓存易失性 API 结果,mema:state:* 实现跨会话持久化。

使用方式简洁直接:通过 $WORKSPACE/skills/memory-cache/scripts/cache.py 脚本执行 set/get/delete 操作,支持可选 TTL 参数控制数据生命周期。SCAN 命令提供安全的键列表遍历,避免生产环境 KEYS 命令的阻塞风险。

显著优点

1. 架构清晰:强制 mema: 命名空间隔离,杜绝与其他 Redis 数据源的键冲突;三段式键名设计(前缀:类别:名称)直观可维护
2. 安全稳健:安全认证评分 92 分(S 级),静态与动态分析均达 95 分,依赖审计通过无已知 CVE

3. 运维友好:自动虚拟环境初始化,连接重试与超时机制完善,错误处理覆盖网络异常场景

4. 隐私合规:通过 GDPR 数据最小化与 CCPA 隐私权合规检查,无敏感数据收集行为

潜在局限

  • 环境变量读取较宽:当前直接读取系统级环境变量,建议增加 MEMACACHE_ 前缀过滤
  • 依赖版本浮动:requirements.txt 使用 >= 约束,存在意外升级风险
  • 缺乏审计日志:关键操作(删键、改 TTL)未记录可追踪日志
  • 个人开发者维护:维护者 trust_level 为 T3,企业场景建议额外安全审查

适合人群

  • 需要跨 Agent 会话共享上下文的自动化工作流
  • 频繁调用昂贵 API 需缓存结果的性能敏感型应用
  • 已具备 Redis 基础设施的中小团队

常规风险

| 风险项 | 等级 | 说明 |
|--------|------|------|
| 环境变量冲突 | 低 | 建议迁移至前缀隔离配置 |
| 依赖自动升级 | 低 | 建议锁定版本或定期 audit |
| Redis 连接暴露 | 用户可控 | 依赖用户配置的 TLS 与网络隔离 |
| 密钥轮转 | 未实现 | 生产环境需外部密钥管理服务配合 |

> 部署建议:生产环境启用 Redis TLS 加密,配置独立数据库索引(/0 以外),并定期运行 pip-auditbandit 扫描。

Memory Cache 内容

scripts文件夹
手动下载zip · 4.2 kB
cache_manager.pytext/plain
请选择文件