本地文件系统上下文存储

在 0.19 中新增

本地文件系统上下文存储在本地文件中保存上下文数据。默认情况下,它在内存中缓存上下文数据,支持同步和异步访问。

如果禁用缓存模式,存储仅支持异步访问。

配置

要创建文件存储,可以使用以下配置。

contextStorage: {
   default: {
       module:"localfilesystem",
       config: {
           // 见下文
       }
   }
}

选项

文件存储可以使用以下配置选项:

选项 描述
dir 存储 base 目录的目录。默认:用户目录 ~/.node-red
base 存储上下文数据的基本目录。默认: "context"
cache 是否在内存中缓存上下文。默认: true
flushInterval 如果启用缓存,写入存储之间的最小间隔,单位为秒。默认: 30

file 上下文存储的默认配置是使用目录 ~/.node-red/context,缓存启用且每 30 秒写入存储。

提供 flushInterval 是为了最小化底层存储的磨损,例如在 Raspberry Pi 的 SD 卡上。请注意,如果 Node-RED 意外关闭,任何尚未刷新数据都会丢失。

实现细节

此上下文存储为每个上下文作用域使用单独的文件。在顶层是每个流作用域的目录和一个全局作用域的目录。在每个流作用域目录内,有一个包含流作用域的文件 flow.json 和一个每个节点上下文的文件。

``` $HOME/.node-red/context ├── global │ └── global.json ├── <流 1 的 ID> │ ├── flow.json │ ├── <节点 a="" 的="" ID="">.json │ └── <节点 b="" 的="" ID="">.json └── <流 2 的 ID> ├── flow.json ├── <节点 x="" 的="" ID="">.json └── <节点 y="" 的="" ID="">.json