Runtime Memory(运行时记忆)
在一个带按条目寿命的键值仓库里记住、忘记、清空或计数条目。
Variable 回答"此次运行此刻什么为真",Runtime Memory 回答*"这东西我处理过了吗?多久之前?"*
用途
在你选定的作用域里,以命名记忆存多个条目、各带自己的 TTL——从运行本地到跨全部实例共享。
何时用
- 冷却守卫:"15 分钟内别再碰这个目标"。
- 记录本会话已处理的东西。
- 在实例间协调一份已认领条目清单。
- 数你处理了多少东西。
何时不用
- 本次运行里的单个值——用 Variable。
- 永不过期的设备事实——用按实例变量。
- 给 Sub Flow 传参——用它的输入映射。
前提
一个记忆名称和一个操作。forget 另需一个 key。
如何运行
节点在所选作用域里对命名记忆执行一个操作。每种操作路由单个 Success——端口是静态的,不随操作变。
条目按绝对时间过期,所以写入 900 秒 TTL 的条目重启后仍过期。什么都不用清理。
设置
| 设置 | 类型 | 范围 | 备注 |
|---|---|---|---|
| Operation | 选择 | remember、forget、clear、count | 必填 |
| Memory | string | 1–100 字符 | 必填。 仓库名 |
| Scope | 选择 | run、session、persist、shared | 它住在哪 |
| Key | string | ≤ 500 字符 | forget 必填。 常绑 {{变量}} |
| Value | string | ≤ 2000 字符 | 要存的简单值 |
| Fields | 列表 | ≤ 20 项 | 结构化值:Memory Match 可引用的命名字段 |
| TTL seconds | integer | 1–31536000(1 年) | 条目活多久 |
| Count variable | 标识符 | ≤ 100 字符 | count 把结果写到哪 |
四种作用域
| 作用域 | 活过运行结束 | 活过重启 | 跨实例共享 |
|---|---|---|---|
run | 否 | 否 | 否 |
session | 是 | 否——一次应用启动 | 否——每实例私有 |
persist | 是 | 是 | 否——每实例私有 |
shared | 是 | 是 | 是 |
shared 是真共享其余作用域按实例给条目做命名空间,实例 A 永远读不到、盖不掉 B 的记忆。shared 是跨实例协调的唯一刻意开关——十个实例写同一键会互相覆盖。凡按设备的用 persist。
结构化字段
不用一个不透明的值,存命名字段:
| 字段 | 值 |
|---|---|
x_coordinate | {{current_x}} |
y_coordinate | {{current_y}} |
然后 Memory Match 可把每个引用为 {{item.x_coordinate}},这使容差匹配成为可能。
空 key 自动生成
无 key 的 remember 生成唯一 key。当条目是列表(你处理过的东西)而非映射(关于特定键的事实)时用它。
端口
| 端口 | 走它的时机 | 必接 |
|---|---|---|
| Success | 操作完成 | 是 |
| Fatal | 配置无效 | 否——永不被走 |
每种操作路由 Success。没有 Failure 端口。
基础示例
数已存的东西:
- Operation:count
- Memory:
processed_targets - Scope:
run - Count variable:
processed_count