配置参数
提示
来自deepseek解释
原文链接:https://redis.io/docs/latest/develop/data-types/probabilistic/configuration/
自 Redis Open Source 8(Redis 8)起,概率数据结构的配置参数现在通过以下方式设置:
- 加载时通过
redis.conf文件。 - 运行时(如果适用)使用
CONFIG SET命令。
此外,Redis 8 会像其他配置参数一样持久化概率配置参数(例如使用 CONFIG REWRITE 命令)。
Redis 概率数据结构配置参数
下表总结了哪些布隆过滤器配置参数可以在运行时设置,以及与 Redis Software 和 Redis Cloud 的兼容性。
| 参数名 (版本 < 8.0) | 参数名 (版本 ≥ 8.0) | 运行时 | Redis Software | Redis Cloud |
|---|---|---|---|---|
| ERROR_RATE | bf-error-rate | ✅ | ✅ 支持 | ✅ Flexible & Annual |
| bf-expansion-factor | ✅ | |||
| INITIAL_SIZE | bf-initial-size | ✅ | ✅ 支持 | ✅ Flexible & Annual |
下表总结了哪些布谷鸟过滤器配置参数可以在运行时设置,以及与 Redis Software 和 Redis Cloud 的兼容性。
| 参数名 (版本 < 8.0) | 参数名 (版本 ≥ 8.0) | 运行时 | Redis Software | Redis Cloud |
|---|---|---|---|---|
| cf-bucket-size | ✅ | |||
| cf-initial-size | ✅ | |||
| cf-expansion-factor | ✅ | |||
| CF_MAX_EXPANSIONS | cf-max-expansions | ✅ | ✅ 支持 | ✅ Flexible & Annual |
| cf-max-iterations | ✅ |
对于 Redis Open Source 版本 < 8.0 的参数名,虽然已弃用,但在 Redis 8 中仍将受支持。
另请参见 Redis 配置。
过滤器应始终根据预期容量和期望的错误率进行大小设定。在存在许多小型过滤器且预期大多数将保持在默认大小附近的情况下,应使用带有默认值的 INSERT 系列命令。不针对预期用途优化过滤器将导致性能和内存效率下降。
布隆过滤器的默认参数
bf-error-rate
布隆过滤器的默认误报率。
类型:双精度浮点数
有效范围:(0 .. 1)。虽然有效范围是 (0 .. 1)(对应 > 0% 到 < 100% 的误报率),但任何大于 0.25 的值均视为 0.25。
默认值:0.01
bf-expansion-factor
自 v8.0.0 添加。
布隆过滤器的扩展因子。
类型:整数
有效范围:[0 .. 32768]
默认值:2
bf-initial-size
布隆过滤器的初始容量。
类型:整数
有效范围:[1 .. 1048576]
默认值:100
布谷鸟过滤器的默认参数
cf-bucket-size
自 v8.0.0 添加。
每个布谷鸟过滤器桶中的条目数。
类型:整数
有效范围:[1 .. 255]
默认值:2
cf-initial-size
自 v8.0.0 添加。
布谷鸟过滤器的初始容量。
类型:整数
有效范围:[2*cf-bucket-size .. 1048576]
默认值:1024
cf-expansion-factor
自 v8.0.0 添加。
布谷鸟过滤器的扩展因子。
类型:整数
有效范围:[0 .. 32768]
默认值:1
cf-max-expansions
布谷鸟过滤器的最大扩展次数。
类型:整数
有效范围:[1 .. 65535]
默认值:32
cf-max-iterations
自 v8.0.0 添加。
布谷鸟过滤器的最大迭代次数。
类型:整数
有效范围:[1 .. 65535]
默认值:20
在模块加载时设置配置参数(已弃用)
从 Redis 8 开始,这些方法已弃用。
在加载时设置配置参数,可以在从命令行启动服务器时在 --loadmodule 参数后附加参数,或在 Redis 配置文件的 loadmodule 指令后附加参数。例如:
在 redis.conf 中:
loadmodule ./redisbloom.so [OPT VAL]...从 Redis CLI,使用 MODULE LOAD 命令:
127.0.0.6379> MODULE LOAD redisbloom.so [OPT VAL]...从命令行:
$ redis-server --loadmodule ./redisbloom.so [OPT VAL]...