跳转至

脚本开发 / 简易存储 DFF.STORE

DataFlux Func 内置了简易的持久化存储功能DFF.STORE。 对于一些有数据存储需求,同时需求并不复杂的场景,可以直接使用本内置存储功能。

存储功能为Scope-Key-Value结构,不同命名空间下,允许存在相同的 Key。

写入的数据会自动序列化,同时读取时也会自动反序列化。使用时无需手工做序列化处理

DFF.STORE.set(...)

DFF.STORE.set(...)方法用于存储数据,参数如下:

参数 类型 必须/默认值 说明
key str 必须 键名
value 任意可 JSON 序列化对象 必须 数据
scope str 当前脚本名 命名空间
expire int None 过期时间。
单位:秒
None表示永不过期
not_exists bool False 是否仅在数据不存在时写入

示例如下:

Python
1
DFF.STORE.set('user:user-001', { 'name': '张三' }, scope='users')

DFF.STORE.keys(...)

DFF.STORE.keys(...)方法用户获取 Key 列表,参数如下:

参数 类型 必须/默认值 说明
pattern str 必须 键名模式,支持*通配
scope str 当前脚本名 命名空间

示例如下:

Python
1
2
3
4
DFF.STORE.set('user:user-001', { 'name': '张三' }, scope='users')
DFF.STORE.set('user:user-002', { 'name': '李四' }, scope='users')
DFF.STORE.keys('user:user-*')
# ['user:user-001', 'user:user-002']

DFF.STORE.get(...)

DFF.STORE.get(...)方法用于获取存储的数据,参数如下:

参数 类型 必须/默认值 说明
key str 必须 键名
scope str 当前脚本名 命名空间

当尝试获取的内容不存在时,返回值为 None

示例如下:

Python
1
2
3
DFF.STORE.set('user:user-001', { 'name': '张三' }, scope='users')
DFF.STORE.get('user:user-001', scope='users')
# { 'name': '张三' }

DFF.STORE.delete(...)

DFF.STORE.delete(...)方法用于删除存储的数据,参数如下:

参数 类型 必须/默认值 说明
key str 必须 键名
scope str 当前脚本名 命名空间

删除不存在的内容也不会报错

示例如下:

Python
1
DFF.STORE.delete('user:user-001', scope='users')