核心用法
memory-cache 提供标准化的 Redis 键值操作接口,专为 Agent 会话间的状态共享与数据缓存设计。通过 $WORKSPACE/skills/memory-cache/scripts/cache 脚本执行 set/get/scan 操作,所有键名强制遵循 mema:<category>:<name> 三段式规范(如 mema:context:session-001、mema:cache:api-result)。支持可选 --ttl 参数控制数据过期,避免内存无限膨胀。
典型工作流:
- 上下文续接:将长对话的中间状态写入
mema:context:*,跨会话恢复 - API 结果缓存: expensive 计算或第三方 API 响应存入
mema:cache:*,减少重复调用 - 状态持久化:跨 Agent 协作所需的共享状态写入
mema:state:*
部署时需配置 REDIS_URL 环境变量,首次运行自动初始化 Python 虚拟环境并安装依赖。
显著优点
1. 命名空间隔离:强制 mema: 前缀机制,彻底避免与现有 Redis 数据库键名冲突
2. 轻量无侵入:纯 Shell/Python 脚本实现,零编译依赖,仅需标准 Redis-py 客户端
3. 安全合规:通过 CLS-Certify v2.1.0 全维度扫描(静态分析、动态行为、依赖审计、网络流量、隐私合规),获 S+ 顶级安全评级,零安全发现项
4. 连接鲁棒性:内置连接重试与超时处理,适配各类 Redis 部署拓扑(单机/Sentinel/Cluster)
5. 隐私优先:无遥测、无埋点、无敏感数据收集,符合 GDPR/CCPA 数据最小化原则
潜在局限
- 基础设施依赖:必须自建或托管 Redis 实例,无内置嵌入式存储 fallback
- 无自动序列化:Value 需用户自行处理 JSON/string 转换,非透明对象存储
- TTL 管理粗放:仅支持命令行级 TTL 设置,无全局默认过期策略或内存告警机制
- 运维盲区:缺乏内置监控面板,需外部工具(如 Redis Insight)观测命中率与内存占用
- 单点风险:若 Redis 配置为单实例且无持久化,服务重启将导致缓存全量丢失
适合人群
- 多 Agent 协作场景需共享短期状态的开发者
- 需降低 API 调用成本、有重复查询缓存需求的自动化工作流
- 已具备 Redis 基础设施、追求极简集成方案的技术团队
- 对数据隐私敏感、需规避第三方 SaaS 缓存服务的合规敏感型组织
常规风险
| 风险类别 | 说明 | 缓解建议 |
|---------|------|---------|
| 传输安全 | 默认 `redis://` 无加密,内网嗅探可导致数据泄露 | 生产环境改用 `rediss://` 启用 TLS |
| 访问控制 | 无认证配置的 Redis 实例面临未授权访问 | 配置 `REDIS_PASSWORD` 与防火墙白名单 |
| 内存溢出 | 未设 TTL 的键值无限累积 | 强制业务层设置合理过期时间,配置 Redis `maxmemory-policy` |
| 依赖过时 | 未来 redis-py 重大版本变更可能引入 breaking change | 锁定 `requirements.txt` 版本,定期执行 `pip-audit` |
| 误操作覆盖 | 键名拼写错误可能覆盖他人数据 | 严格遵循 `mema:category:name` 规范,CI 中增加键名 lint |
---
认证报告:CLS-2026-0517-MEMC-A7F3 | 评分:100/100 | 扫描范围:静态分析、动态行为、依赖审计、网络流量、威胁情报