--- categories: - docs - develop - stack - oss - rs - rc - oss - kubernetes - clients description: Redis probabilistic data structures support multiple configuration parameters. linkTitle: Configuration title: Configuration Parameters weight: 100 --- {{< note >}} As of Redis 8 in Redis Open Source (Redis 8), configuration parameters for the probabilistic data structures are now set in the following ways: * At load time via your `redis.conf` file. * At run time (where applicable) using the [`CONFIG SET`]({{< relref "/commands/config-set" >}}) command. Also, Redis 8 persists probabilistic configuration parameters just like any other configuration parameters (e.g., using the [`CONFIG REWRITE`]({{< relref "/commands/config-rewrite/" >}}) command). {{< /note >}} ## Redis probabilistic data structure configuration parameters The following table summarizes which Bloom filter configuration parameters can be set at run-time, and compatibility with Redis Software and Redis Cloud. | Parameter name
(version < 8.0) | Parameter name
(version ≥ 8.0) | Run-time | Redis
Software | Redis
Cloud | | :------- | :------- | :------- | :------- | :------- | | ERROR_RATE | [bf-error-rate](#bf-error-rate) | :white_check_mark: | ✅ Supported

| ✅ Flexible & Annual
❌ Free & Fixed | | | [bf-expansion-factor](#bf-expansion-factor) | :white_check_mark: ||| | INITIAL_SIZE | [bf-initial-size](#bf-initial-size) | :white_check_mark: | ✅ Supported

| ✅ Flexible & Annual
❌ Free & Fixed | The following table summarizes which Cuckoo filter configuration parameters can be set at run-time, and compatibility with Redis Software and Redis Cloud. | Parameter name
(version < 8.0) | Parameter name
(version ≥ 8.0) | Run-time | Redis
Software | Redis
Cloud | | :------- | :------- | :------- | :------- | :------- | | | [cf-bucket-size](#cf-bucket-size) | :white_check_mark: ||| | | [cf-initial-size](#cf-initial-size) | :white_check_mark: ||| | | [cf-expansion-factor](#cf-expansion-factor) | :white_check_mark: ||| | CF_MAX_EXPANSIONS | [cf-max-expansions](#cf-max-expansions) | :white_check_mark: | ✅ Supported

| ✅ Flexible & Annual
❌ Free & Fixed | | | [cf-max-iterations](#cf-max-iterations) | :white_check_mark: ||| {{< note >}} Parameter names for Redis Open Source versions < 8.0, while deprecated, will still be supported in Redis 8. {{< /note >}} See also [Redis configuration]({{< relref "/operate/oss_and_stack/management/config" >}}). --- {{< warning >}} A filter should always be sized for the expected capacity and the desired error rate. Using the `INSERT` family commands with the default values should be used in cases where many small filters exist and the expectation is most will remain at around the default sizes. Not optimizing a filter for its intended use will result in degradation of performance and memory efficiency. {{< /warning >}} ## Default parameters for Bloom filters ### bf-error-rate Default false positive rate for Bloom filters. Type: double Valid range: `(0 .. 1)`. Though the valid range is `(0 .. 1)` (corresponding to `> 0%` to `< 100%` false positive rate), any value greater than `0.25` is treated as `0.25`. Default: `0.01` ### bf-expansion-factor Added in v8.0.0. Expansion factor for Bloom filters. Type: integer Valid range: `[0 .. 32768]`. Default: `2` ### bf-initial-size Initial capacity for Bloom filters. Type: integer Valid range: `[1 .. 1048576]` Default: `100` ## Default parameters for Cuckoo filters ### cf-bucket-size Added in v8.0.0. The number of items in each Cuckoo filter bucket. Type: integer Valid range: `[1 .. 255]` Default: `2` ### cf-initial-size Added in v8.0.0. Cuckoo filter initial capacity. Type: integer Valid range: `[2*cf-bucket-size .. 1048576]` Default: `1024` ### cf-expansion-factor Added in v8.0.0. Expansion factor for Cuckoo filters. Type: integer Valid range: `[0 .. 32768]` Default: `1` ### cf-max-expansions The maximum number of expansions for Cuckoo filters. Type: integer Valid range: `[1 .. 65535]` Default: `32` ### cf-max-iterations Added in v8.0.0 The maximum number of iterations for Cuckoo filters. Type: integer Valid range: `[1 .. 65535]` Default: `20` ## Setting configuration parameters on module load (deprecated) These methods are deprecated beginning with Redis 8. Setting configuration parameters at load-time is done by appending arguments after the `--loadmodule` argument when starting a server from the command line or after the `loadmodule` directive in a Redis config file. For example: In [redis.conf]({{< relref "/operate/oss_and_stack/management/config" >}}): ```sh loadmodule ./redisbloom.so [OPT VAL]... ``` From the [Redis CLI]({{< relref "/develop/tools/cli" >}}), using the [MODULE LOAD]({{< relref "/commands/module-load" >}}) command: ``` 127.0.0.6379> MODULE LOAD redisbloom.so [OPT VAL]... ``` From the command line: ```sh $ redis-server --loadmodule ./redisbloom.so [OPT VAL]... ```