配置
配置操作参数
Redis Stack 的触发器和函数功能提供配置选项来控制其操作。 这些选项可以在模块启动时设置,在某些情况下,也可以在运行时设置。
以下部分描述了配置选项以及如何设置它们。
启动配置
您可以在加载模块时设置配置选项。 当模块在启动时加载时,模块配置可以在 Redis 配置文件中定义。 当在运行时加载模块时,可以将配置提供给 MODULE LOADEX
命令。 每个配置必须以模块名称为前缀,redisgears_2.<configuration name>
。
运行时配置
您可以在运行时设置某些配置选项。 在运行时设置配置是使用 CONFIG SET
命令完成的。 在这里,每个配置必须以模块名称为前缀,redisgears_2.<configuration name>
。
示例
> config set redisgears_2.lock-redis-timeout 1000
OK
配置
execution-threads
execution-threads
配置选项控制运行 JS 代码的后台线程数量。 请注意,库被视为单线程。 此配置允许 Redis 并行调用多个库。
预期值
整数
默认值
1
最小值
1
最大值
32
运行时可配置性
否
library-fatal-failure-policy
library-fatal-failure-policy
配置选项控制如何处理致命错误。 致命错误被认为是以下之一
- 阻塞超时 - 函数阻塞 Redis 进程的时间过长(使用 lock-redis-timeout 配置值可配置)
- OOM - 函数消耗的内存过多(使用 v8-maxmemory 配置值可配置)。
此配置基本上允许在两个选项之间选择
- 即使以杀死 Redis 进程为代价,也不要破坏原子性属性。
- 保持我的 Redis 进程存活,即使以失去原子性为代价。
预期值
- kill - 保留原子性属性。 存在杀死 Redis 进程的风险。
- abort - 终止函数的调用并保持 Redis 进程存活。 存在失去原子性属性的风险。
默认值
abort
运行时可配置性
是
v8-maxmemory
v8-maxmemory
配置选项控制所有 V8 库使用的最大内存量。 超出此限制将被视为致命错误,并将根据 library-fatal-failure-policy 配置值进行处理。
预期值
整数
默认值
200M
最小值
50M
最大值
1G
运行时可配置性
否
v8-library-initial-memory-usage
v8-library-initial-memory-usage
配置选项控制分配给单个 V8 库的初始内存。 此值不能大于 v8-library-initial-memory-limit
或 v8-maxmemory。
预期值
整数
默认值
2M
最小值
1M
最大值
10M
运行时可配置性
否
v8-library-initial-memory-limit
v8-library-initial-memory-limit
配置选项控制单个 V8 库的初始内存限制。 此值不能大于 v8-maxmemory。
预期值
整数
默认值
3M
最小值
2M
最大值
20M
运行时可配置性
否
v8-library-memory-usage-delta
v8-library-memory-usage-delta
配置选项控制当达到限制时,我们将增加 V8 库内存限制的增量。 此值不能大于 v8-maxmemory。
预期值
整数
默认值
1M
最小值
1M
最大值
10M
运行时可配置性
否
lock-redis-timeout
lock-redis-timeout
配置选项控制库可以锁定 Redis 的最长时间(以毫秒为单位)。 超出此限制将被视为致命错误,并将根据 library-fatal-failure-policy 配置值进行处理。 此配置仅影响使用 TFUNCTION LOAD
在运行时加载库。 从 RDB 加载库的超时时间通过 db-loading-lock-redis-timeout 单独设置。
预期值
整数
默认值
500 MS
最小值
100 MS
最大值
无限
运行时可配置性
是
副作用
设置 lock-redis-timeout
时,如果新值高于 db-loading-lock-redis-timeout
,db-loading-lock-redis-timeout
也会更新为此值。
db-loading-lock-redis-timeout
此超时配置用于设置从 RDB 加载库的上限时间限制(以毫秒为单位)。
预期值
整数
默认值
30000 MS
最小值
100 MS
最大值
无限
运行时可配置性
是
注意
该值不能低于 lock-redis-timeout
的值。
remote-task-default-timeout
remote-task-default-timeout
配置选项控制等待远程任务完成时的超时时间。 如果达到超时时间,将导致错误。
预期值
整数
默认值
500 MS
最小值
1 MS
最大值
无限
运行时可配置性
是
error-verbosity
error-verbosity
配置选项控制触发器和函数提供的错误消息的详细程度。 值越高,错误消息越详细(例如,包括堆栈跟踪和额外信息,以便更好地分析和调试)。
预期值
整数
默认值
1
最小值
1
最大值
2
运行时可配置性
是