Memory Cache

⚡ Redis 高速缓存,毫秒级数据存取

data-storage榜 #1

Redis 高速缓存系统,支持命名空间隔离、TTL 过期管理,用于会话上下文与 API 结果缓存,适合有 Redis 运维能力的用户。

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

使用说明

核心用法

memory-cache 是一个基于 Redis 的标准化缓存技能,为 OpenClaw 代理提供高性能临时存储能力。核心操作包括:

  • 存储与读取:通过 cache.sh set/get 命令管理键值对,支持可选 TTL(秒级过期)。
  • 命名空间隔离:强制使用 mema: 前缀(如 mema:context:*mema:cache:*mema:state:*),避免与其他 Redis 数据冲突。
  • 管理操作scan 支持模式匹配查询,ping 用于健康检查。

显著优点

1. 性能优越:Redis 作为内存数据库,读写延迟极低(亚毫秒级),适合高频缓存场景。
2. 数据隔离:严格的 mema: 前缀约定,配合 Redis 数据库编号选择,实现多租户级别的隔离。

3. 生产安全:使用 SCAN 替代 KEYS 命令,避免阻塞生产环境的大键扫描风险。

4. TTL 自动过期:原生支持键值生存周期管理,无需手动清理,降低运维负担。

5. 虚拟环境隔离:Python 依赖独立安装在 .venv,避免污染宿主系统。

潜在缺点与局限性

  • 外部依赖强:必须预先部署并维护 Redis 服务,本地开发成本较高。
  • 无持久化保障:纯内存存储,Redis 重启或崩溃可能导致数据丢失(除非配置 AOF/RDB)。
  • 网络延迟敏感:远程 Redis 实例受网络质量影响,可能抵消缓存性能优势。
  • JSON 序列化开销:复杂对象的序列化/反序列化带来额外 CPU 与内存消耗。
  • 权限管理缺失:依赖环境变量 REDIS_URL 中的凭据,无细粒度 ACL 控制说明。

适合人群

  • 已有 Redis 基础设施的运维团队或开发者。
  • 需要跨会话共享临时状态的 Agent 应用架构。
  • 对缓存一致性要求不极端严格(允许秒级过期)的 API 结果缓存场景。

常规风险

  • 凭据泄露REDIS_URL 含明文密码,需确保 .env 文件权限与传输安全。
  • 命名空间污染:虽强制 mema: 前缀,但恶意或误操作仍可能覆盖他人数据。
  • 内存溢出:无键数量或内存上限的硬性限制,需配合 Redis maxmemory 策略使用。
  • 脚本注入cache.sh 接收用户输入作为键名和值,需确保调用方已做输入过滤,防止 shell 注入或 Redis 命令注入。

安全解读

核心功能

Memory Cache 是一个基于 Redis 的标准化高性能缓存系统,专为 OpenClaw 智能体设计。它通过命令行工具提供完整的缓存生命周期管理,包括键值存储、TTL 过期控制、命名空间隔离和批量扫描能力。

显著优点

1. 严格的命名空间隔离
采用强制性的 mema: 前缀规范,内置 mema:context:*(会话上下文)、mema:cache:*(通用缓存)、mema:state:*(持久状态)三类命名空间,有效避免键冲突和数据库污染,特别适合多租户或多智能体协作场景。

2. 生产级安全设计

  • 使用 Redis SCAN 替代 KEYS 命令,防止大数据集阻塞生产实例
  • 正则表达式严格校验键名格式,防御注入攻击
  • 无危险函数调用,无硬编码敏感信息
  • 依赖 redis-py≥5.0.0 和 python-dotenv≥1.0.0,均无已知 CVE

3. 开箱即用的隔离环境
自动创建专用 Python 虚拟环境,通过 $WORKSPACE 变量实现路径可移植,无需全局污染宿主机 Python 环境。

潜在局限性

  • 外部依赖刚性:必须预先部署 Redis 服务并配置 REDIS_URL,无法 standalone 运行
  • 网络单点:缓存性能与可用性完全依赖 Redis 服务器状态
  • TLS 非强制:公网部署需手动启用 TLS,默认配置未加密传输
  • 无持久化保障:Redis 崩溃或内存不足时缓存数据可能丢失

适合人群

  • 需要跨会话保持状态的 AI 智能体开发者
  • 需缓存第三方 API 响应以降低延迟的应用场景
  • 追求代码可审计性、拒绝黑盒依赖的企业用户

常规风险提示

1. 配置泄露风险REDIS_URL 若包含密码,需确保 .env 文件权限(建议 600)
2. 内存膨胀:未设置 TTL 的键可能累积,建议配合 mema:* 前缀定期清理策略

3. 序列化兼容性:JSON 序列化对复杂 Python 对象(如 datetime)需自定义处理

Memory Cache 内容

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