diff --git a/redis.conf b/redis.conf index 38e73bb5f..30a3d8b57 100644 --- a/redis.conf +++ b/redis.conf @@ -2145,6 +2145,30 @@ hll-sparse-max-bytes 3000 stream-node-max-bytes 4096 stream-node-max-entries 100 +# Redis Streams support Idempotent Message Producer (IDMP) tracking to prevent +# duplicate message delivery. When producers send messages with IDMP identifiers +# (using XADD with IDMP or IDMPAUTO parameters), Redis tracks these identifiers to +# detect and reject duplicates within a configurable time window. +# +# stream-idmp-duration: Specifies how long (in seconds) Redis should remember +# IDMP identifiers for duplicate detection. After this duration expires, old +# identifiers are automatically removed. This prevents unbounded memory growth +# while allowing reasonable duplicate detection windows. +# Valid range: 1 to 86400 seconds (1 second to 24 hours) +# Default: 100 seconds +# +# stream-idmp-maxsize: Maximum number of IDMP identifiers to track per producer +# per stream. Once this limit is reached, the oldest identifiers are evicted to +# make room for new ones. This caps memory usage for IDMP tracking. +# Valid range: 1 to 10000 entries +# Default: 100 entries +# +# Note: These are default values for new streams. Individual streams can override +# these settings using the XCFGSET command. +# +# stream-idmp-duration 100 +# stream-idmp-maxsize 100 + # Active rehashing uses 1 millisecond every 100 milliseconds of CPU time in # order to help rehashing the main Redis hash table (the one mapping top-level # keys to values). The hash table implementation Redis uses (see dict.c)