脚本开发 / 简易缓存 DFF.CACHE
DataFlux Func 内置了基于 Redis 的简易缓存功能DFF.CACHE
。
对于一些有数据缓存需求,同时需求并不复杂的场景,可以直接使用本内置缓存功能。
存储功能为Scope-Key-Value
结构,不同命名空间下,允许存在相同的 Key。
写入 / 读取数据不会自动自动序列化/反序列化,使用时需要在脚本中自行处理
DFF.CACHE.set(...)
DFF.CACHE.set(...)
方法用于建立缓存,参数如下:
参数 | 类型 | 必须/默认值 | 说明 |
---|---|---|---|
key |
str | 必须 | 键名 |
value |
str/int/float | 必须 | 数据 |
scope |
str | 当前脚本名 | 命名空间 |
expire |
int | None |
过期时间。 单位:秒 None 表示永不过期 |
not_exists |
bool | False |
是否仅在数据不存在时写入 |
示例如下:
Python | |
---|---|
1 2 |
|
DFF.CACHE.get(...)
DFF.CACHE.get(...)
方法用于获取缓存,参数如下:
参数 | 类型 | 必须/默认值 | 说明 |
---|---|---|---|
key |
str | 必须 | 键名 |
scope |
str | 当前脚本名 | 命名空间 |
示例如下:
Python | |
---|---|
1 2 3 |
|
DFF.CACHE.getset(...)
DFF.CACHE.getset(...)
方法用于设置缓存的同时,获取之前的值,参数如下:
参数 | 类型 | 必须/默认值 | 说明 |
---|---|---|---|
key |
str | 必须 | 键名 |
value |
str/int/float | 必须 | 数据 |
scope |
str | 当前脚本名 | 命名空间 |
示例如下:
Python | |
---|---|
1 2 3 4 |
|
DFF.CACHE.expire(...)
DFF.CACHE.expire(...)
方法用于设置缓存的过期时间,参数如下:
参数 | 类型 | 必须/默认值 | 说明 |
---|---|---|---|
key |
str | 必须 | 键名 |
expire |
int | None |
过期时间。 单位:秒 None 表示永不过期 |
scope |
str | 当前脚本名 | 命名空间 |
示例如下:
Python | |
---|---|
1 |
|
DFF.CACHE.delete(...)
DFF.CACHE.delete(...)
方法用于删除存储的数据,参数如下:
参数 | 类型 | 必须/默认值 | 说明 |
---|---|---|---|
key |
str | 必须 | 键名 |
scope |
str | 当前脚本名 | 命名空间 |
示例如下:
Python | |
---|---|
1 |
|
DFF.CACHE.incr(...)
DFF.CACHE.incr(...)
方法用于对缓存值增加步进,参数如下:
参数 | 类型 | 必须/默认值 | 说明 |
---|---|---|---|
key |
str | 必须 | 键名 |
step |
int | 1 |
步进值 |
scope |
str | 当前脚本名 | 命名空间 |
示例如下:
Python | |
---|---|
1 2 |
|
DFF.CACHE.hkeys(...)
DFF.CACHE.hkeys(...)
方法用于获取哈希结构字段列表,参数如下:
参数 | 类型 | 必须/默认值 | 说明 |
---|---|---|---|
key |
str | 必须 | 键名 |
pattern |
str | "*" |
字段匹配模式 |
scope |
str | 当前脚本名 | 命名空间 |
示例如下:
Python | |
---|---|
1 2 3 |
|
DFF.CACHE.hget(...)
DFF.CACHE.hget(...)
方法用于获取哈希结构中一个/多个/全部字段值,参数如下:
参数 | 类型 | 必须/默认值 | 说明 |
---|---|---|---|
key |
str | 必须 | 键名 |
field |
str/list | None |
字段名/字段名列表 |
scope |
str | 当前脚本名 | 命名空间 |
示例如下:
Python | |
---|---|
1 2 3 4 5 6 7 |
|
DFF.CACHE.hset(...)
DFF.CACHE.hset(...)
方法用于设置哈希结构中的某个字段值,参数如下:
参数 | 类型 | 必须/默认值 | 说明 |
---|---|---|---|
key |
str | 必须 | 键名 |
field |
str | 必须 | 字段名 |
value |
str/int/float | 必须 | 数据 |
scope |
str | 当前脚本名 | 命名空间 |
not_exists |
bool | False |
是否仅在字段不存在时写入 |
示例如下:
Python | |
---|---|
1 2 |
|
DFF.CACHE.hmset(...)
DFF.CACHE.hmset(...)
方法用于设置哈希结构中的多个字段值,参数如下:
参数 | 类型 | 必须/默认值 | 说明 |
---|---|---|---|
key |
str | 必须 | 键名 |
obj |
dict | 必须 | 数据 |
scope |
str | 当前脚本名 | 命名空间 |
Python | |
---|---|
1 2 |
|
DFF.CACHE.hincr(...)
DFF.CACHE.hincr(...)
方法用于对哈希结构中的字段增加步进,参数如下:
参数 | 类型 | 必须/默认值 | 说明 |
---|---|---|---|
key |
str | 必须 | 键名 |
field |
str | 必须 | 字段名 |
step |
int | 1 |
步进值 |
scope |
str | 当前脚本名 | 命名空间 |
示例如下:
Python | |
---|---|
1 2 |
|
DFF.CACHE.hdel(...)
DFF.CACHE.hdel(...)
方法用于删除哈希结构中的某个字段,参数如下:
参数 | 类型 | 必须/默认值 | 说明 |
---|---|---|---|
key |
str | 必须 | 键名 |
field |
str | 必须 | 字段名 |
scope |
str | 当前脚本名 | 命名空间 |
示例如下:
Python | |
---|---|
1 2 3 |
|
DFF.CACHE.lpush(...)
DFF.CACHE.lpush(...)
方法用于从左侧向列表结构添加元素,参数如下:
参数 | 类型 | 必须/默认值 | 说明 |
---|---|---|---|
key |
str | 必须 | 键名 |
value |
str/int/float | 必须 | 数据 |
scope |
str | 当前脚本名 | 命名空间 |
示例如下:
Python | |
---|---|
1 2 3 |
|
DFF.CACHE.rpush(...)
DFF.CACHE.rpush(...)
方法用于从右侧向列表结构添加元素,参数如下:
参数 | 类型 | 必须/默认值 | 说明 |
---|---|---|---|
key |
str | 必须 | 键名 |
value |
str/int/float | 必须 | 数据 |
scope |
str | 当前脚本名 | 命名空间 |
示例如下:
Python | |
---|---|
1 2 3 |
|
DFF.CACHE.lpop(...)
DFF.CACHE.lpop(...)
方法用于从左侧从列表结构中弹出元素,参数如下:
参数 | 类型 | 必须/默认值 | 说明 |
---|---|---|---|
key |
str | 必须 | 键名 |
scope |
str | 当前脚本名 | 命名空间 |
示例如下:
Python | |
---|---|
1 2 3 4 |
|
DFF.CACHE.rpop(...)
DFF.CACHE.rpop(...)
方法用于从右侧从列表结构中弹出元素,参数如下:
参数 | 类型 | 必须/默认值 | 说明 |
---|---|---|---|
key |
str | 必须 | 键名 |
scope |
str | 当前脚本名 | 命名空间 |
示例如下:
Python | |
---|---|
1 2 3 4 |
|
DFF.CACHE.llen(...)
DFF.CACHE.llen(...)
方法用于获取列表结构元素数量,参数如下:
参数 | 类型 | 必须/默认值 | 说明 |
---|---|---|---|
key |
str | 必须 | 键名 |
scope |
str | 当前脚本名 | 命名空间 |
示例如下:
Python | |
---|---|
1 2 3 4 |
|
DFF.CACHE.lrange(...)
DFF.CACHE.lrange(...)
方法用于获取列表结构内元素列表(不弹出),参数如下:
参数 | 类型 | 必须/默认值 | 说明 |
---|---|---|---|
key |
str | 必须 | 键名 |
start |
int | 0 |
起始索引(包含) |
stop |
int | -1 |
结束索引(包含,-1 表示最后一个) |
scope |
str | 当前脚本名 | 命名空间 |
示例如下:
Python | |
---|---|
1 2 3 4 5 6 7 8 |
|
DFF.CACHE.ltrim(...)
DFF.CACHE.ltrim(...)
方法用于从左侧开始,保留列表结构内元素,参数如下:
参数 | 类型 | 必须/默认值 | 说明 |
---|---|---|---|
key |
str | 必须 | 键名 |
start |
int | 必须 | 起始索引(包含) |
stop |
int | 必须 | 结束索引(包含,-1 表示最后一个) |
scope |
str | 当前脚本名 | 命名空间 |
示例如下:
Python | |
---|---|
1 2 3 4 5 6 |
|
小技巧:限制队列长度(回卷)
Python | |
---|---|
1 2 3 4 5 6 |
|
DFF.CACHE.rpoplpush(...)
DFF.CACHE.rpoplpush(...)
方法用于在一个列表结构右侧弹出元素,同时向另一个列表结构左侧推入元素,同时返回此元素,参数如下:
参数 | 类型 | 必须/默认值 | 说明 |
---|---|---|---|
key |
str | 必须 | 键名(来源) |
dest_key |
str | 与key 相同 |
键名(目标) |
scope |
str | 当前脚本名 | 命名空间(来源) |
dest_scope |
str | 与scope 相同 |
命名空间(目标) |
示例如下:
Python | |
---|---|
1 2 3 4 5 6 7 8 |
|
小技巧:队列滚动
Python | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 |
|