Memory Cache

⚡ Redis 高性能缓存,会话状态秒级存取

基于 Redis 的高性能临时存储系统,支持命名空间隔离、TTL 管理与 JSON 序列化,专为会话上下文和 API 结果缓存设计。

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

使用说明

核心用法

Memory Cache 提供了一套标准化的 Redis 缓存封装方案,通过 Shell 脚本封装 Python 实现,降低直接使用 Redis CLI 的复杂度。

存储与检索

  • 键值存储:bash $WORKSPACE/skills/memory-cache/scripts/cache.sh set mema:cache:<name> <value> [--ttl 3600]
  • 数据读取:bash $WORKSPACE/skills/memory-cache/scripts/cache.sh get mema:cache:<name>

管理操作

  • 键扫描:scan [pattern] —— 使用 Redis SCAN 替代 KEYS,避免阻塞生产实例
  • 连通性检测:ping

命名空间规范

强制 mema: 前缀确保数据库隔离:

  • mema:context:* —— 临时会话上下文
  • mema:cache:* —— 通用 API/任务缓存
  • mema:state:* —— 跨会话持久状态

显著优点

1. 操作安全性:采用 SCAN 命令而非 KEYS,防止大数据量环境下的性能阻塞
2. 环境隔离:独立 Python 虚拟环境(.venv),依赖与系统解耦

3. 路径可移植:使用 $WORKSPACE 变量,适配不同部署环境

4. TTL 原生支持:无需额外实现过期清理逻辑

潜在局限

  • 外部依赖强:必须预置 Redis 服务和 REDIS_URL 环境变量
  • 二进制依赖:依赖主机系统的 python3,容器化场景需额外处理
  • 功能边界:仅覆盖基础 KV 操作,不支持高级数据结构(Pub/Sub、Stream、Lua 脚本)
  • 无持久化策略:纯缓存用途,关键数据需外部持久化

适合人群

  • OpenClaw Agent 开发者需快速集成会话状态管理
  • 微服务场景下需轻量级 API 结果缓存层
  • 多 Agent 共享状态的中等规模部署

常规风险

| 风险类型 | 说明 |
|---------|------|
| 连接泄露 | 脚本异常退出可能导致连接未关闭(依赖 Redis 服务端超时) |
| 密钥暴露 | `REDIS_URL` 含认证信息,`.env` 文件权限需严格控制 |
| 命名空间冲突 | 未强制校验 `mema:` 前缀,误操作可能污染其他数据 |
| TTL 误配 | 未设置 TTL 的键将永久驻留,需配合主动清理策略 |

安全解读

核心用法

memory-cache 是一款基于 Redis 的高性能临时存储系统,专为 OpenClaw 智能体设计。核心功能包括:

  • 键值存储:通过命令行接口执行 set/get 操作,支持可选 TTL(默认 3600 秒)
  • 命名空间隔离:强制使用 mema: 前缀(如 mema:context:*mema:cache:*mema:state:*),确保多租户环境数据隔离
  • 安全管理:采用 Redis SCAN 替代 KEYS 命令,避免生产环境阻塞
  • 便捷部署:自动创建 Python 虚拟环境,依赖 redis-pypython-dotenv

典型使用场景

# 存储会话上下文
bash $WORKSPACE/skills/memory-cache/scripts/cache.sh set mema:context:session_001 '{"user_id": 42}' --ttl 7200

# 缓存 API 响应结果
bash $WORKSPACE/skills/memory-cache/scripts/cache.sh set mema:cache:weather_api_nyc '{"temp": 72, "unit": "F"}' --ttl 600

# 跨会话持久化状态
bash $WORKSPACE/skills/memory-cache/scripts/cache.sh set mema:state:workflow_step 'processing'

显著优点

1. 架构设计严谨:命名空间强制隔离、TTL 自动过期、SCAN 安全查询,体现生产级 Redis 使用规范
2. 安全评级优秀:CLS-Certify 综合评分 95/100,获评 S 级(优秀),静态/动态/依赖/网络/隐私五项全通过

3. 依赖精简可靠:仅依赖 redis-py≥5.0.0 和 python-dotenv≥1.0.0,无已知 CVE 漏洞

4. 运维友好:自动虚拟环境管理,支持本地或远程 Redis,配置简单(仅需 REDIS_URL)

5. 来源可信:OpenClaw 平台官方维护(T2 级别),具备组织级质量保障

潜在缺点与局限性

1. 外部依赖强:必须预装 Python3 和 Redis 服务,无法独立运行
2. 协议限制:默认 TCP 连接,TLS 加密需手动配置 rediss:// 协议

3. 无内置持久化:纯内存缓存,Redis 重启数据丢失(设计特性,非缺陷)

4. 权限粒度粗:依赖 Redis ACL 实现命名空间隔离,本身无应用层权限控制

5. CLI 唯一接口:无编程语言 SDK,必须通过 shell 脚本调用

适合人群

  • 需要快速集成 Redis 缓存的 OpenClaw 智能体开发者
  • 重视数据隔离与 TTL 管理的微服务架构团队
  • 追求开箱即用、安全合规的企业级应用场景

常规风险

| 风险类别 | 等级 | 说明 |
|---------|------|------|
| 配置泄露 | 中 | REDIS_URL 通过环境变量传入,需确保部署环境密钥管理安全 |
| 未授权访问 | 中 | 若 Redis 未配置密码或 ACL,可能面临未授权访问风险 |
| 传输窃听 | 低 | 默认非加密连接,建议生产环境启用 TLS |
| 依赖漏洞 | 低 | 需关注 redis-py 安全公告,定期更新版本 |

合规认证

已通过 GDPR 数据最小化、CCPA 用户知情权、无硬编码敏感信息、输入验证过滤等六项合规检查。

Memory Cache 内容

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