核心用法
memory-cache 是一个基于 Redis 的高性能临时存储 skill,主要用于三类场景:保存短期会话状态(mema:context:*)、缓存昂贵的 API 结果(mema:cache:*)、以及实现跨会话的状态持久化(mema:state:*)。
核心操作通过 scripts/cache 脚本完成:
- 写入:
cache set mema:<category>:<name> <value> [--ttl N]支持可选的过期时间 - 读取:
cache get mema:<category>:<name>获取指定 key - 扫描:
cache scan [pattern]使用 Redis SCAN 命令安全遍历 keys
显著优点
1. 命名空间隔离:强制 mema: 前缀避免与其他 Redis 数据库冲突
2. 连接健壮性:内置连接重试和超时处理机制
3. 轻量部署:通过 venv 自动管理依赖,首次运行自动初始化
4. TTL 支持:可为缓存数据设置过期时间,避免内存膨胀
潜在局限
- 外部依赖:必须配置可用的 Redis 服务(
REDIS_URL) - 非持久化设计:定位为临时存储,不适合作为长期数据库使用
- 键名约束:严格的命名规范增加了使用成本,但也保障了隔离性
- 无内置加密:Redis 连接安全性依赖部署环境的网络配置
适合人群
需要快速实现会话状态管理、API 结果缓存或 agent 间数据共享的开发者,尤其适合已有 Redis 基础设施的团队。
常规风险
- 未正确配置
REDIS_URL将导致服务不可用 - 大量无 TTL 的缓存 key 可能造成 Redis 内存耗尽
- 跨会话的
mema:state:*数据需自行管理清理策略