配置
配置操作参数
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 毫秒
最小值
100 毫秒
最大值
无限制
运行时可配置性
是
副作用
设置 lock-redis-timeout
时,如果新值高于 db-loading-lock-redis-timeout
,则 db-loading-lock-redis-timeout
也将更新为该值。
db-loading-lock-redis-timeout
此超时配置用于设置从 RDB 加载库的上限时间(以毫秒为单位)。
预期值
整数
默认值
30000 毫秒
最小值
100 毫秒
最大值
无限制
运行时可配置性
是
说明
此值不能低于 lock-redis-timeout
的值。
remote-task-default-timeout
remote-task-default-timeout
配置选项控制等待远程任务完成时的超时时间。如果达到超时时间,将导致错误。
预期值
整数
默认值
500 毫秒
最小值
1 毫秒
最大值
无限制
运行时可配置性
是
error-verbosity
error-verbosity
配置选项控制触发器和函数提供的错误消息的详细程度。值越高,错误消息越详细(例如,包括堆栈跟踪和用于更好分析和调试的其他信息)。
预期值
整数
默认值
1
最小值
1
最大值
2
运行时可配置性
是