配置

配置操作参数

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-limitv8-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

运行时可配置性

对本页进行评分