From 199c193dfeba8aecc9be502d42e26cd5fc4139b0 Mon Sep 17 00:00:00 2001 From: "David W. Dougherty" Date: Mon, 12 Jan 2026 14:33:08 -0800 Subject: [PATCH 1/3] DOC-6151: (DEV) update XADD for idempotent production (commit 1) --- content/commands/xadd.md | 107 +++++++++---- content/commands/xcfgset.md | 132 +++++++++++++++ content/commands/xinfo-stream.md | 62 ++++++-- .../{streams.md => streams/_index.md} | 0 .../develop/data-types/streams/idempotency.md | 150 ++++++++++++++++++ static/images/railroad/xadd.svg | 64 ++++---- static/images/railroad/xcfgset.svg | 59 +++++++ static/images/railroad/xinfo-stream.svg | 26 +-- 8 files changed, 519 insertions(+), 81 deletions(-) create mode 100644 content/commands/xcfgset.md rename content/develop/data-types/{streams.md => streams/_index.md} (100%) create mode 100644 content/develop/data-types/streams/idempotency.md create mode 100644 static/images/railroad/xcfgset.svg diff --git a/content/commands/xadd.md b/content/commands/xadd.md index 7d4ad79dc9..0288b0a959 100644 --- a/content/commands/xadd.md +++ b/content/commands/xadd.md @@ -4,46 +4,76 @@ acl_categories: - '@stream' - '@fast' arguments: -- display_text: key - key_spec_index: 0 +- key_spec_index: 0 name: key type: key -- display_text: nomkstream - name: nomkstream +- name: nomkstream optional: true since: 6.2.0 token: NOMKSTREAM type: pure-token +- arguments: + - name: keepref + token: KEEPREF + type: pure-token + - name: delref + token: DELREF + type: pure-token + - name: acked + token: ACKED + type: pure-token + name: condition + optional: true + type: oneof +- arguments: + - arguments: + - name: idmpauto-token + token: IDMPAUTO + type: pure-token + - display_text: producer-id + name: pid + type: string + name: idmpauto-with-pid + type: block + - arguments: + - name: idmp-token + token: IDMP + type: pure-token + - display_text: producer-id + name: pid + type: string + - display_text: idempotent-id + name: iid + type: string + name: idmp-with-pid-iid + type: block + name: idmp + optional: true + type: oneof - arguments: - arguments: - - display_text: maxlen - name: maxlen + - name: maxlen token: MAXLEN type: pure-token - - display_text: minid - name: minid + - name: minid since: 6.2.0 token: MINID type: pure-token name: strategy type: oneof - arguments: - - display_text: equal - name: equal + - name: equal token: '=' type: pure-token - - display_text: approximately - name: approximately + - name: approximately token: '~' type: pure-token name: operator optional: true type: oneof - - display_text: threshold - name: threshold + - name: threshold type: string - - display_text: count - name: count + - name: count optional: true since: 6.2.0 token: LIMIT @@ -52,21 +82,17 @@ arguments: optional: true type: block - arguments: - - display_text: auto-id - name: auto-id + - name: auto-id token: '*' type: pure-token - - display_text: id - name: id + - name: id type: string name: id-selector type: oneof - arguments: - - display_text: field - name: field + - name: field type: string - - display_text: value - name: value + - name: value type: string multiple: true name: data @@ -116,8 +142,10 @@ linkTitle: XADD railroad_diagram: /images/railroad/xadd.svg since: 5.0.0 summary: Appends a new message to a stream. Creates the key if it doesn't exist. -syntax_fmt: "XADD key [NOMKSTREAM] [KEEPREF | DELREF | ACKED] [ [= | ~] threshold\n [LIMIT\_\ - count]] <* | id> field value [field value ...]" +syntax_fmt: "XADD key [NOMKSTREAM] [KEEPREF | DELREF | ACKED]\n \ + \ [IDMPAUTO producer-id | IDMP producer-id idempotent-id]\n \ + \ [ [= | ~] threshold [LIMIT\_count]] <* | id>\n \ + \ field value [field value ...]" title: XADD --- @@ -153,6 +181,19 @@ One or more field-value pairs that make up the stream entry. You must provide at Prevents the creation of a new stream if the key does not exist. Available since Redis 6.2.0. +
+IDMPAUTO producer-id | IDMP producer-id idempotent-id + +Enables idempotent message processing to prevent duplicate entries. Available since Redis 8.6. + +- `IDMPAUTO producer-id`: Automatically generates a unique idempotent ID for the specified producer. Redis tracks this ID to prevent duplicate messages from the same producer. +- `IDMP producer-id idempotent-id`: Uses the specified idempotent ID for the given producer. If this producer-id/idempotent-id combination was already used, the command returns the ID of the existing entry instead of creating a duplicate. + +The producer ID identifies the source of the message, while the idempotent ID ensures uniqueness within that producer's message stream. Redis maintains an internal map of recent producer-id/idempotent-id combinations to detect and prevent duplicates. + +Use [`XCFGSET`]({{< relref "/commands/xcfgset" >}}) to configure how long idempotent IDs are retained (duration) and the maximum number tracked per producer (maxsize). +
+
KEEPREF | DELREF | ACKED @@ -267,6 +308,16 @@ XLEN mystream XRANGE mystream - + {{% /redis-cli %}} +### Idempotent message processing examples + +{{% redis-cli %}} +XADD mystream IDMP producer1 msg1 * field value +XADD mystream IDMP producer1 msg1 * field different_value +XADD mystream IDMPAUTO producer2 * field value +XADD mystream IDMPAUTO producer2 * field value +XCFGSET mystream DURATION 300 MAXSIZE 1000 +{{% /redis-cli %}} + ## Redis Enterprise and Redis Cloud compatibility | Redis
Enterprise | Redis
Cloud | Notes | @@ -280,13 +331,13 @@ XRANGE mystream - + tab2="RESP3" >}} One of the following: -* [Bulk string reply](../../develop/reference/protocol-spec#bulk-strings): The ID of the added entry. The ID is the one automatically generated if an asterisk (`*`) is passed as the _id_ argument, otherwise the command just returns the same ID specified by the user during insertion. +* [Bulk string reply](../../develop/reference/protocol-spec#bulk-strings): The ID of the added entry. The ID is the one automatically generated if an asterisk (`*`) is passed as the _id_ argument, otherwise the command just returns the same ID specified by the user during insertion. When using IDMP and a duplicate is detected, returns the ID of the existing entry. * [Nil reply](../../develop/reference/protocol-spec#bulk-strings): if the NOMKSTREAM option is given and the key doesn't exist. -tab-sep- One of the following: -* [Bulk string reply](../../develop/reference/protocol-spec#bulk-strings): The ID of the added entry. The ID is the one automatically generated if an asterisk (`*`) is passed as the _id_ argument, otherwise the command just returns the same ID specified by the user during insertion. +* [Bulk string reply](../../develop/reference/protocol-spec#bulk-strings): The ID of the added entry. The ID is the one automatically generated if an asterisk (`*`) is passed as the _id_ argument, otherwise the command just returns the same ID specified by the user during insertion. When using IDMP and a duplicate is detected, returns the ID of the existing entry. * [Null reply](../../develop/reference/protocol-spec#nulls): if the NOMKSTREAM option is given and the key doesn't exist. {{< /multitabs >}} diff --git a/content/commands/xcfgset.md b/content/commands/xcfgset.md new file mode 100644 index 0000000000..26b73f037c --- /dev/null +++ b/content/commands/xcfgset.md @@ -0,0 +1,132 @@ +--- +acl_categories: +- STREAM +arguments: +- key_spec_index: 0 + name: key + type: key +- arguments: + - name: duration-token + token: DURATION + type: pure-token + - name: duration + type: integer + name: duration-block + optional: true + type: block +- arguments: + - name: maxsize-token + token: MAXSIZE + type: pure-token + - name: maxsize + type: integer + name: maxsize-block + optional: true + type: block +arity: -2 +categories: +- docs +- develop +- stack +- oss +- rs +- rc +- oss +- kubernetes +- clients +command_flags: +- WRITE +- FAST +complexity: O(1) +description: Sets the IDMP configuration parameters for a stream. +function: xcfgsetCommand +group: stream +hidden: false +key_specs: +- begin_search: + index: + pos: 1 + find_keys: + range: + lastkey: 0 + limit: 0 + step: 1 + flags: + - RW + - UPDATE +linkTitle: XCFGSET +reply_schema: + const: OK +since: 8.6.0 +summary: Sets the IDMP configuration parameters for a stream. +syntax_fmt: XCFGSET key [DURATION duration] [MAXSIZE maxsize] +title: XCFGSET +--- +Sets the IDMP (Idempotent Message Processing) configuration parameters for a stream. This command configures how long idempotent IDs are retained and the maximum number of idempotent IDs tracked per producer. + +## Required arguments + +
key + +The name of the stream key. The stream must already exist. + +
+ +## Optional arguments + +
DURATION duration + +Sets the duration in seconds that each idempotent ID (iid) is kept in the stream's IDMP map. Valid range: 1-86400 seconds. Default: 100 seconds. + +When an idempotent ID expires, it can be reused for new messages. This provides operational guarantee that Redis will not forget an iid before the duration elapses (unless capacity is reached). + +
+ +
MAXSIZE maxsize + +Sets the maximum number of most recent idempotent IDs kept for each producer in the stream's IDMP map. Valid range: 1-10,000 entries. Default: 100 entries. + +When the capacity is reached, the oldest idempotent IDs for that producer are evicted regardless of remaining duration. This prevents unbounded memory growth. + +
+ +## Behavior + +- Calling `XCFGSET` clears all existing producer IDMP maps for the stream +- At least one of `DURATION` or `MAXSIZE` must be specified +- The stream must exist before calling this command +- Configuration changes apply immediately to all future IDMP operations + +## Examples + +{{% redis-cli %}} +XADD mystream * field value +XCFGSET mystream DURATION 300 +XCFGSET mystream MAXSIZE 1000 +XCFGSET mystream DURATION 600 MAXSIZE 500 +{{% /redis-cli %}} + +## Return information + +{{< multitabs id="return-info" + tab1="RESP2" + tab2="RESP3" >}} + +[Simple string reply](../../develop/reference/protocol-spec#simple-strings): `OK` if the configuration was set successfully. + +-tab-sep- + +[Simple string reply](../../develop/reference/protocol-spec#simple-strings): `OK` if the configuration was set successfully. + +{{< /multitabs >}} + +## Error conditions + +The command returns an error in the following cases: + +- **WRONGTYPE**: The key exists but is not a stream +- **ERR no such key**: The stream does not exist +- **ERR syntax error**: Invalid command syntax or missing required arguments +- **ERR invalid duration**: Duration value is outside the valid range (1-86400) +- **ERR invalid maxsize**: Maxsize value is outside the valid range (1-10,000) + diff --git a/content/commands/xinfo-stream.md b/content/commands/xinfo-stream.md index 7399b0eb7b..ad9005f627 100644 --- a/content/commands/xinfo-stream.md +++ b/content/commands/xinfo-stream.md @@ -4,17 +4,14 @@ acl_categories: - '@stream' - '@slow' arguments: -- display_text: key - key_spec_index: 0 +- key_spec_index: 0 name: key type: key - arguments: - - display_text: full - name: full + - name: full token: FULL type: pure-token - - display_text: count - name: count + - name: count optional: true token: COUNT type: integer @@ -46,6 +43,9 @@ history: `entries-read` and `lag` fields - - 7.2.0 - Added the `active-time` field, and changed the meaning of `seen-time`. +- - 8.6.0 + - Added the `idmp-duration`, `idmp-maxsize`, `pids-tracked`, `iids-tracked`, `iids-added` + and `iids-duplicates` fields for IDMP tracking. key_specs: - RO: true access: true @@ -80,6 +80,17 @@ The informative details provided by this command are: * **first-entry**: the ID and field-value tuples of the first entry in the stream * **last-entry**: the ID and field-value tuples of the last entry in the stream +### IDMP (Idempotent Message Processing) fields + +When IDMP is configured for the stream using [`XCFGSET`]({{< relref "/commands/xcfgset" >}}), the following additional fields are included: + +* **idmp-duration**: the duration in seconds that idempotent IDs are retained in the stream's IDMP map +* **idmp-maxsize**: the maximum number of idempotent IDs kept for each producer in the stream's IDMP map +* **pids-tracked**: the number of unique producer IDs currently being tracked +* **iids-tracked**: the total number of idempotent IDs currently stored across all producers +* **iids-added**: the total count of idempotent IDs that have been added to the stream during its lifetime +* **iids-duplicates**: the total count of duplicate messages that were detected and prevented by IDMP + ### The `FULL` modifier The optional `FULL` modifier provides a more verbose reply. @@ -119,7 +130,20 @@ The default `COUNT` is 10 and a `COUNT` of 0 means that all entries will be retu ## Examples -Default reply: +Setting up a stream with IDMP: + +``` +> XADD mystream * message apple +"1638125133432-0" +> XADD mystream * message banana +"1638125141232-0" +> XCFGSET mystream DURATION 100 MAXSIZE 100 +OK +> XADD mystream IDMP producer1 msg1 * field value +"1638125150000-0" +``` + +Default reply (with IDMP configured): ``` > XINFO STREAM mystream @@ -137,14 +161,26 @@ Default reply: 12) (integer) 2 13) "recorded-first-entry-id" 14) "1719505260513-0" -15) "groups" -16) (integer) 1 -17) "first-entry" -18) 1) "1638125133432-0" +15) "idmp-duration" +16) (integer) 100 +17) "idmp-maxsize" +18) (integer) 100 +19) "pids-tracked" +20) (integer) 1 +21) "iids-tracked" +22) (integer) 1 +23) "iids-added" +24) (integer) 1 +25) "iids-duplicates" +26) (integer) 0 +27) "groups" +28) (integer) 1 +29) "first-entry" +30) 1) "1638125133432-0" 2) 1) "message" 2) "apple" -19) "last-entry" -20) 1) "1638125141232-0" +31) "last-entry" +32) 1) "1638125141232-0" 2) 1) "message" 2) "banana" ``` diff --git a/content/develop/data-types/streams.md b/content/develop/data-types/streams/_index.md similarity index 100% rename from content/develop/data-types/streams.md rename to content/develop/data-types/streams/_index.md diff --git a/content/develop/data-types/streams/idempotency.md b/content/develop/data-types/streams/idempotency.md new file mode 100644 index 0000000000..6c3b8661bb --- /dev/null +++ b/content/develop/data-types/streams/idempotency.md @@ -0,0 +1,150 @@ +--- +categories: +- docs +- develop +- stack +- oss +- rs +- rc +- oss +- kubernetes +- clients +description: Idempotent message processing in Redis Streams +linkTitle: Idempotency +title: Idempotent Message Processing +weight: 10 +--- + +Redis Streams support idempotent message processing to prevent duplicate entries when using at-least-once delivery patterns. This feature enables reliable message submission with automatic deduplication. + +## Overview + +Idempotent message processing prevents duplicate stream entries by tracking recently submitted messages per producer. When a message is resubmitted (due to network failures, retries, etc.), Redis returns the existing entry ID instead of creating a duplicate. + +## Basic usage + +Use the [`XADD`]({{< relref "/commands/xadd" >}}) command with idempotency parameters: + +``` +XADD mystream IDMP producer1 msg1 * field value +XADD mystream IDMPAUTO producer2 * field value +``` + +## Idempotency modes + +### Manual mode (IDMP) + +Specify both producer ID and idempotent ID explicitly: + +``` +XADD mystream IDMP producer1 msg1 * field value +``` + +- **producer-id**: Unique identifier for the message producer +- **idempotent-id**: Unique identifier for this specific message +- **Performance**: Faster processing (no hash calculation) +- **Control**: Full control over ID generation and uniqueness + +### Automatic mode (IDMPAUTO) + +Specify only the producer ID; Redis generates the idempotent ID from message content: + +``` +XADD mystream IDMPAUTO producer1 * field value +``` + +- **producer-id**: Unique identifier for the message producer +- **Automatic deduplication**: Redis calculates idempotent ID from field-value pairs +- **Content-based**: Same content produces the same idempotent ID +- **Performance**: Slightly slower due to hash calculation + +## Configuration + +Configure idempotency settings using [`XCFGSET`]({{< relref "/commands/xcfgset" >}}): + +``` +XCFGSET mystream DURATION 300 MAXSIZE 1000 +``` + +### Parameters + +- **DURATION**: How long (in seconds) to retain idempotent IDs (1-86400 seconds, default: 100) +- **MAXSIZE**: Maximum idempotent IDs to track per producer (1-10,000 entries, default: 100) + +### Expiration behavior + +Idempotent IDs are removed when either condition is met: + +- **Time-based**: ID expires after the configured duration +- **Capacity-based**: Oldest IDs are evicted when maxsize is reached + +## Producer isolation + +Each producer maintains independent idempotency tracking: + +``` +XADD mystream IDMP producer1 msg1 * field value # Producer 1's tracking +XADD mystream IDMP producer2 msg1 * field value # Producer 2's tracking (independent) +``` + +Producers can use the same idempotent ID without conflicts. + +## Monitoring + +Use [`XINFO STREAM`]({{< relref "/commands/xinfo-stream" >}}) to monitor idempotency metrics: + +``` +XINFO STREAM mystream +``` + +Returns additional fields when idempotency is configured: + +- **idmp-duration**: Current duration setting +- **idmp-maxsize**: Current maxsize setting +- **pids-tracked**: Number of active producers +- **iids-tracked**: Total idempotent IDs currently stored +- **iids-added**: Lifetime count of idempotent messages added +- **iids-duplicates**: Lifetime count of duplicates prevented + +## Best practices + +### Producer ID selection + +Use globally unique, persistent producer IDs: + +- **Recommended**: UUID v4 for global uniqueness +- **Alternative**: `hostname:process_id` or application-assigned IDs +- **Persistence**: Use the same producer ID after restarts to maintain idempotency tracking + +### Configuration tuning + +- **Duration**: Set based on your retry timeout patterns +- **Maxsize**: Balance memory usage with deduplication window needs +- **Monitoring**: Track `iids-duplicates` to verify deduplication effectiveness + +### Error handling + +Handle these error conditions: + +- **WRONGTYPE**: Key exists but is not a stream +- **ERR no such key**: Stream doesn't exist (when using NOMKSTREAM) +- **ERR syntax error**: Invalid command syntax + +## Performance characteristics + +Idempotency introduces minimal overhead: + +- **Throughput**: 2-5% reduction compared to standard XADD +- **Memory**: <1.5% additional memory usage +- **Latency**: Negligible impact on per-operation latency + +Manual mode (IDMP) is slightly faster than automatic mode (IDMPAUTO) due to avoiding hash calculation. + +## Persistence + +Idempotency tracking persists across Redis restarts: + +- **RDB/AOF**: All producer-idempotent ID pairs are saved +- **Recovery**: Tracking remains active after restart +- **Configuration**: Duration and maxsize settings persist +- **Important**: Running `XCFGSET` clears all existing tracking data diff --git a/static/images/railroad/xadd.svg b/static/images/railroad/xadd.svg index 23d9483181..937db2ca15 100644 --- a/static/images/railroad/xadd.svg +++ b/static/images/railroad/xadd.svg @@ -1,4 +1,4 @@ - + - + XADD key @@ -56,28 +56,38 @@ circle { fill: #DC382D !important; stroke: #DC382D !important; } KEEPREF DELREF ACKED - - - - -MAXLEN -MINID - - - -= -~ -threshold - - - -LIMIT -count - -* -id - - -field -value - \ No newline at end of file + + + + +IDMPAUTO +producer-id + +IDMP +producer-id +idempotent-id + + + + +MAXLEN +MINID + + + += +~ +threshold + + + +LIMIT +count + +* +id + + +field +value + \ No newline at end of file diff --git a/static/images/railroad/xcfgset.svg b/static/images/railroad/xcfgset.svg new file mode 100644 index 0000000000..8b92cf2441 --- /dev/null +++ b/static/images/railroad/xcfgset.svg @@ -0,0 +1,59 @@ + + + + + + + + +XCFGSET +key + + + +DURATION +duration + + + +MAXSIZE +maxsize \ No newline at end of file diff --git a/static/images/railroad/xinfo-stream.svg b/static/images/railroad/xinfo-stream.svg index 33dc66bb0e..de32768e34 100644 --- a/static/images/railroad/xinfo-stream.svg +++ b/static/images/railroad/xinfo-stream.svg @@ -1,4 +1,4 @@ - + - -XINFO STREAM -key - - - -FULL - - - -COUNT -count \ No newline at end of file + +STREAM +key + + + +FULL + + + +COUNT +count \ No newline at end of file From a23c468c64f7bc291a74998c7871a372dbf8cd14 Mon Sep 17 00:00:00 2001 From: "David W. Dougherty" Date: Tue, 13 Jan 2026 13:08:10 -0800 Subject: [PATCH 2/3] Flesh out content --- content/commands/xadd.md | 13 +- content/commands/xcfgset.md | 6 +- content/develop/data-types/streams/_index.md | 2 + .../develop/data-types/streams/idempotency.md | 132 +++++++++++------- .../images/dev/stream/stream-idempotency.png | Bin 0 -> 252569 bytes 5 files changed, 94 insertions(+), 59 deletions(-) create mode 100644 static/images/dev/stream/stream-idempotency.png diff --git a/content/commands/xadd.md b/content/commands/xadd.md index 0288b0a959..27411b9a0f 100644 --- a/content/commands/xadd.md +++ b/content/commands/xadd.md @@ -184,14 +184,17 @@ Prevents the creation of a new stream if the key does not exist. Available since
IDMPAUTO producer-id | IDMP producer-id idempotent-id -Enables idempotent message processing to prevent duplicate entries. Available since Redis 8.6. +Enables idempotent message processing (at-most-once production) to prevent duplicate entries. Available since Redis 8.6. -- `IDMPAUTO producer-id`: Automatically generates a unique idempotent ID for the specified producer. Redis tracks this ID to prevent duplicate messages from the same producer. -- `IDMP producer-id idempotent-id`: Uses the specified idempotent ID for the given producer. If this producer-id/idempotent-id combination was already used, the command returns the ID of the existing entry instead of creating a duplicate. +- `IDMPAUTO producer-id`: Automatically generates a unique idempotent ID (iid) for the specified producer-id. Redis tracks this iid to prevent duplicate messages from the same producer-id. +- `IDMP producer-id idempotent-id`: Uses the specified idempotent-id for the given producer-id. If this producer-id/idempotent-id combination was already used, the command returns the idempotent-id of the existing entry instead of creating a duplicate. -The producer ID identifies the source of the message, while the idempotent ID ensures uniqueness within that producer's message stream. Redis maintains an internal map of recent producer-id/idempotent-id combinations to detect and prevent duplicates. +The producer-id identifies the source of the message, while the idempotent-id ensures uniqueness within that producer-id's message stream. Redis maintains an internal map of recent producer-id/idempotent-id combinations to detect and prevent duplicates. + +Use [`XCFGSET`]({{< relref "/commands/xcfgset" >}}) to configure how long idempotent IDs are retained (`DURATION`) and the maximum number tracked per producer (`MAXSIZE`). + +See [Idempotent message processing]({{< relref "/develop/data-types/streams/idempotency" >}}) for more information. -Use [`XCFGSET`]({{< relref "/commands/xcfgset" >}}) to configure how long idempotent IDs are retained (duration) and the maximum number tracked per producer (maxsize).
diff --git a/content/commands/xcfgset.md b/content/commands/xcfgset.md index 26b73f037c..53148ffe53 100644 --- a/content/commands/xcfgset.md +++ b/content/commands/xcfgset.md @@ -78,7 +78,7 @@ The name of the stream key. The stream must already exist. Sets the duration in seconds that each idempotent ID (iid) is kept in the stream's IDMP map. Valid range: 1-86400 seconds. Default: 100 seconds. -When an idempotent ID expires, it can be reused for new messages. This provides operational guarantee that Redis will not forget an iid before the duration elapses (unless capacity is reached). +When an idempotent ID expires, it can be reused for new messages. This provides an operational guarantee that Redis will not forget an idempotency ID before the duration elapses (unless capacity is reached).
@@ -99,12 +99,12 @@ When the capacity is reached, the oldest idempotent IDs for that producer are ev ## Examples -{{% redis-cli %}} +```redis-cli XADD mystream * field value XCFGSET mystream DURATION 300 XCFGSET mystream MAXSIZE 1000 XCFGSET mystream DURATION 600 MAXSIZE 500 -{{% /redis-cli %}} +``` ## Return information diff --git a/content/develop/data-types/streams/_index.md b/content/develop/data-types/streams/_index.md index 72acf4943b..a0e4f652a0 100644 --- a/content/develop/data-types/streams/_index.md +++ b/content/develop/data-types/streams/_index.md @@ -28,6 +28,8 @@ You can use these IDs to retrieve their associated entries later or to read and Redis streams support several trimming strategies (to prevent streams from growing unbounded) and more than one consumption strategy (see [`XREAD`]({{< relref "/commands/xread" >}}), [`XREADGROUP`]({{< relref "/commands/xreadgroup" >}}), and [`XRANGE`]({{< relref "/commands/xrange" >}})). Starting with Redis 8.2, the `XACKDEL`, `XDELEX`, `XADD`, and `XTRIM` commands provide fine-grained control over how stream operations interact with multiple consumer groups, simplifying the coordination of message processing across different applications. +Beginning with Redis 8.6, Redis streams support idempotent message processing (at-most-once production) to prevent duplicate entries when using at-least-once delivery patterns. This feature enables reliable message submission with automatic deduplication. See [Idempotent Message Processing]({{< relref "/develop/data-types/streams/idempotency" >}}) for more information. + ## Basic commands * [`XADD`]({{< relref "/commands/xadd" >}}) adds a new entry to a stream. diff --git a/content/develop/data-types/streams/idempotency.md b/content/develop/data-types/streams/idempotency.md index 6c3b8661bb..96bc74d243 100644 --- a/content/develop/data-types/streams/idempotency.md +++ b/content/develop/data-types/streams/idempotency.md @@ -11,56 +11,63 @@ categories: - clients description: Idempotent message processing in Redis Streams linkTitle: Idempotency -title: Idempotent Message Processing +title: Idempotent message processing weight: 10 --- -Redis Streams support idempotent message processing to prevent duplicate entries when using at-least-once delivery patterns. This feature enables reliable message submission with automatic deduplication. +In Redis 8.6, streams support idempotent message processing (at-most-once production) to prevent duplicate entries when using at-least-once delivery patterns. This feature enables reliable message submission with automatic deduplication. -## Overview +A unique ID, called an idempotent ID or *iid*, is associated with each message that is added to a stream. +There are two ways to assign iids: -Idempotent message processing prevents duplicate stream entries by tracking recently submitted messages per producer. When a message is resubmitted (due to network failures, retries, etc.), Redis returns the existing entry ID instead of creating a duplicate. +1. Producers provide a unique iid for each message. An iid can be some identifier already associated with this message: a transaction ID, a counter, or a UUID. +1. Redis generates an iid based on each message’s content. -## Basic usage +If the same message is added to the stream more than once, the same iid would need to be provided by the producer. +For (1), this is the producer’s responsibility, and for (2), Redis will calculate the same iid, as long as the message content hasn’t changed. -Use the [`XADD`]({{< relref "/commands/xadd" >}}) command with idempotency parameters: +## Idempotency modes + +Use the [`XADD`]({{< relref "/commands/xadd" >}}) command with idempotency parameters, `IDMP` or `IDMPAUTO`: ``` -XADD mystream IDMP producer1 msg1 * field value -XADD mystream IDMPAUTO producer2 * field value +XADD mystream IDMP producer1 msg1 * field value # producer-provided iid +XADD mystream IDMPAUTO producer2 * field value # Redis-generated iid ``` -## Idempotency modes +### Manual mode (`IDMP`) -### Manual mode (IDMP) - -Specify both producer ID and idempotent ID explicitly: +Specify both producer ID (pid) and iid explicitly: ``` XADD mystream IDMP producer1 msg1 * field value ``` -- **producer-id**: Unique identifier for the message producer -- **idempotent-id**: Unique identifier for this specific message -- **Performance**: Faster processing (no hash calculation) -- **Control**: Full control over ID generation and uniqueness +- `pid`: Unique identifier for the message producer. +- `iid`: Unique identifier for a specific message. +- Performance: Faster processing (no hash calculation). +- Control: Full control over ID generation and uniqueness. -### Automatic mode (IDMPAUTO) +### Automatic mode (`IDMPAUTO`) -Specify only the producer ID; Redis generates the idempotent ID from message content: +Specify only the pid; Redis generates the iid from message content: ``` XADD mystream IDMPAUTO producer1 * field value ``` -- **producer-id**: Unique identifier for the message producer -- **Automatic deduplication**: Redis calculates idempotent ID from field-value pairs -- **Content-based**: Same content produces the same idempotent ID -- **Performance**: Slightly slower due to hash calculation +- `pid`: Unique identifier for the message producer. +- Automatic deduplication: Redis calculates an iid from field-value pairs. +- Content-based: The same content produces the same iid. +- Performance: Slightly slower due to hash calculation. + +Here's an illustration of how message processing in Redis Streams works with and without idempotent production: + +{{< image filename="images/dev/stream/stream-idempotency.png" alt="Idempotent message processing in Redis Streams" >}} -## Configuration +## Stream configuration -Configure idempotency settings using [`XCFGSET`]({{< relref "/commands/xcfgset" >}}): +Configure idempotency settings for a stream using [`XCFGSET`]({{< relref "/commands/xcfgset" >}}): ``` XCFGSET mystream DURATION 300 MAXSIZE 1000 @@ -68,15 +75,38 @@ XCFGSET mystream DURATION 300 MAXSIZE 1000 ### Parameters -- **DURATION**: How long (in seconds) to retain idempotent IDs (1-86400 seconds, default: 100) -- **MAXSIZE**: Maximum idempotent IDs to track per producer (1-10,000 entries, default: 100) +- `DURATION`: How long (in seconds) to retain iids (1-86400 seconds, the default is 100). +- `MAXSIZE`: The maximum number of per-producer iids to track (1-10,000 entries, the default is 100). ### Expiration behavior Idempotent IDs are removed when either condition is met: -- **Time-based**: ID expires after the configured duration -- **Capacity-based**: Oldest IDs are evicted when maxsize is reached +- Time-based: iids expire after the configured `DURATION`. +- Capacity-based: Oldest iids are evicted when `MAXSIZE` is reached. + +### Determine optimal configuration values + +`DURATION` is an operational guarantee: Redis will not discard a previously sent iid for the specified duration (unless reaching `MAXSIZE` iids for that producer). +If a producer application crashes and stops sending messages to Redis, Redis will keep each iid for `DURATION` seconds, after which they will be discarded. +You should know how long it may take your producer application to recover from a crash and start resending messages. +`DURATION` should be set accordingly. +If `DURATION` is set too high, Redis will waste memory by retaining iids for a longer duration than necessary. + +**Example**: if a producer crashes, it may take up to 1,000 seconds until it recovers and restarts sending messages. You should set `DURATION` to 1000. + +When a producer application retrieves an `XADD` reply from Redis, it usually marks the message as *delivered* in a transaction database or log file. +If the application crashes, it needs to resend undelivered messages after recovering from the crash. +Since a few messages may have not been marked as delivered as a result of the crash, the application will likely resend these messages. +Using iids will allow Redis to detect such duplicate messages and filter them. +Setting `MAXSIZE` correctly ensures that Redis retains a sufficient number of recent iids. +If `MAXSIZE` is set too high, Redis will waste memory by retaining too many iids. +Usually this number can be very small, and often, even *one* is enough. +If your application marks messages as delivered asynchronously, you should know how long it may take from the time it retrieved a `XADD` reply from Redis until the message is marked as delivered; this duration is called *mark-delay*. `MAXSIZE` should be set to + +`mark-delay [in msec] * (messages / msec) + some margin.` + +**Example**: a producer is sending 1K msgs/sec (1 msg/msec), and takes up to 80 msec to mark each message as delivered, `MAXSIZE` should be set to `1 * 80 + margin = 100` iids. ## Producer isolation @@ -97,14 +127,14 @@ Use [`XINFO STREAM`]({{< relref "/commands/xinfo-stream" >}}) to monitor idempot XINFO STREAM mystream ``` -Returns additional fields when idempotency is configured: +Returns additional fields when idempotency is begin used: -- **idmp-duration**: Current duration setting -- **idmp-maxsize**: Current maxsize setting -- **pids-tracked**: Number of active producers -- **iids-tracked**: Total idempotent IDs currently stored -- **iids-added**: Lifetime count of idempotent messages added -- **iids-duplicates**: Lifetime count of duplicates prevented +- `idmp-duration`: Current duration setting. +- `idmp-maxsize`: Current maxsize setting. +- `pids-tracked`: Number of active producers. +- `iids-tracked`: Total idempotent IDs currently stored. +- `iids-added`: Lifetime count of idempotent messages added. +- `iids-duplicates`: Lifetime count of duplicates prevented. ## Best practices @@ -112,31 +142,31 @@ Returns additional fields when idempotency is configured: Use globally unique, persistent producer IDs: -- **Recommended**: UUID v4 for global uniqueness -- **Alternative**: `hostname:process_id` or application-assigned IDs -- **Persistence**: Use the same producer ID after restarts to maintain idempotency tracking +- Recommended: UUID v4 for global uniqueness. +- Alternative: `hostname:process_id` or application-assigned IDs. +- Persistence: Use the same producer ID after restarts to maintain idempotency tracking. ### Configuration tuning -- **Duration**: Set based on your retry timeout patterns -- **Maxsize**: Balance memory usage with deduplication window needs -- **Monitoring**: Track `iids-duplicates` to verify deduplication effectiveness +- Duration: Set based on your retry timeout patterns. +- Maxsize: Balance memory usage with deduplication window needs. +- Monitoring: Track `iids-duplicates` to verify deduplication effectiveness. ### Error handling Handle these error conditions: -- **WRONGTYPE**: Key exists but is not a stream -- **ERR no such key**: Stream doesn't exist (when using NOMKSTREAM) -- **ERR syntax error**: Invalid command syntax +- `WRONGTYPE`: Key exists but is not a stream. +- `ERR no such key`: Stream doesn't exist (when using NOMKSTREAM). +- `ERR syntax error`: Invalid command syntax. ## Performance characteristics Idempotency introduces minimal overhead: -- **Throughput**: 2-5% reduction compared to standard XADD -- **Memory**: <1.5% additional memory usage -- **Latency**: Negligible impact on per-operation latency +- Throughput: 2-5% reduction compared to standard XADD. +- Memory: <1.5% additional memory usage. +- Latency: Negligible impact on per-operation latency. Manual mode (IDMP) is slightly faster than automatic mode (IDMPAUTO) due to avoiding hash calculation. @@ -144,7 +174,7 @@ Manual mode (IDMP) is slightly faster than automatic mode (IDMPAUTO) due to avoi Idempotency tracking persists across Redis restarts: -- **RDB/AOF**: All producer-idempotent ID pairs are saved -- **Recovery**: Tracking remains active after restart -- **Configuration**: Duration and maxsize settings persist -- **Important**: Running `XCFGSET` clears all existing tracking data +- RDB/AOF: All producer-idempotent ID pairs are saved. +- Recovery: Tracking remains active after restart. +- Configuration: `DURATION` and `MAXSIZE` settings persist. +- Important: Running `XCFGSET` clears all existing tracking data. Use without `DURATION` and `MAXSIZE` to clear data. diff --git a/static/images/dev/stream/stream-idempotency.png b/static/images/dev/stream/stream-idempotency.png new file mode 100644 index 0000000000000000000000000000000000000000..4dc038c7b71d2dadd3e8177381d573d35b0c0fea GIT binary patch literal 252569 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 z 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 XD$}3XV{y_4_ literal 0 HcmV?d00001 From 1898691d22bba9e545f24219565ac4eaaed00902 Mon Sep 17 00:00:00 2001 From: "David W. Dougherty" Date: Thu, 15 Jan 2026 09:18:45 -0800 Subject: [PATCH 3/3] Apply review suggestions --- content/commands/xadd.md | 8 +- content/commands/xcfgset.md | 29 ++++--- .../develop/data-types/streams/idempotency.md | 79 ++++++++++++------- static/images/railroad/xcfgset.svg | 24 +++--- 4 files changed, 81 insertions(+), 59 deletions(-) diff --git a/content/commands/xadd.md b/content/commands/xadd.md index 27411b9a0f..4954e354f7 100644 --- a/content/commands/xadd.md +++ b/content/commands/xadd.md @@ -187,11 +187,13 @@ Prevents the creation of a new stream if the key does not exist. Available since Enables idempotent message processing (at-most-once production) to prevent duplicate entries. Available since Redis 8.6. - `IDMPAUTO producer-id`: Automatically generates a unique idempotent ID (iid) for the specified producer-id. Redis tracks this iid to prevent duplicate messages from the same producer-id. -- `IDMP producer-id idempotent-id`: Uses the specified idempotent-id for the given producer-id. If this producer-id/idempotent-id combination was already used, the command returns the idempotent-id of the existing entry instead of creating a duplicate. +- `IDMP producer-id idempotent-id`: Uses the specified idempotent-id for the given producer-id. If this producer-id/idempotent-id combination was already used, the command returns the ID of the existing entry instead of creating a duplicate. The producer-id identifies the source of the message, while the idempotent-id ensures uniqueness within that producer-id's message stream. Redis maintains an internal map of recent producer-id/idempotent-id combinations to detect and prevent duplicates. -Use [`XCFGSET`]({{< relref "/commands/xcfgset" >}}) to configure how long idempotent IDs are retained (`DURATION`) and the maximum number tracked per producer (`MAXSIZE`). +Both modes can only be specified when the entry ID is `*` (auto-generated). + +Use [`XCFGSET`]({{< relref "/commands/xcfgset" >}}) to configure how long idempotent IDs are retained (`IDMP-DURATION`) and the maximum number tracked per producer (`IDMP-MAXSIZE`). See [Idempotent message processing]({{< relref "/develop/data-types/streams/idempotency" >}}) for more information. @@ -318,7 +320,7 @@ XADD mystream IDMP producer1 msg1 * field value XADD mystream IDMP producer1 msg1 * field different_value XADD mystream IDMPAUTO producer2 * field value XADD mystream IDMPAUTO producer2 * field value -XCFGSET mystream DURATION 300 MAXSIZE 1000 +XCFGSET mystream IDMP-DURATION 300 IDMP-MAXSIZE 1000 {{% /redis-cli %}} ## Redis Enterprise and Redis Cloud compatibility diff --git a/content/commands/xcfgset.md b/content/commands/xcfgset.md index 53148ffe53..8b00b8c52c 100644 --- a/content/commands/xcfgset.md +++ b/content/commands/xcfgset.md @@ -7,7 +7,7 @@ arguments: type: key - arguments: - name: duration-token - token: DURATION + token: IDMP-DURATION type: pure-token - name: duration type: integer @@ -16,7 +16,7 @@ arguments: type: block - arguments: - name: maxsize-token - token: MAXSIZE + token: IDMP-MAXSIZE type: pure-token - name: maxsize type: integer @@ -59,7 +59,7 @@ reply_schema: const: OK since: 8.6.0 summary: Sets the IDMP configuration parameters for a stream. -syntax_fmt: XCFGSET key [DURATION duration] [MAXSIZE maxsize] +syntax_fmt: XCFGSET key [IDMP-DURATION duration] [IDMP-MAXSIZE maxsize] title: XCFGSET --- Sets the IDMP (Idempotent Message Processing) configuration parameters for a stream. This command configures how long idempotent IDs are retained and the maximum number of idempotent IDs tracked per producer. @@ -74,15 +74,15 @@ The name of the stream key. The stream must already exist. ## Optional arguments -

DURATION duration +
IDMP-DURATION duration -Sets the duration in seconds that each idempotent ID (iid) is kept in the stream's IDMP map. Valid range: 1-86400 seconds. Default: 100 seconds. +Sets the duration in seconds that each idempotent ID (iid) is kept in the stream's IDMP map. Valid range: 1-86,400 seconds. Default: 100 seconds. When an idempotent ID expires, it can be reused for new messages. This provides an operational guarantee that Redis will not forget an idempotency ID before the duration elapses (unless capacity is reached).
-
MAXSIZE maxsize +
IDMP-MAXSIZE maxsize Sets the maximum number of most recent idempotent IDs kept for each producer in the stream's IDMP map. Valid range: 1-10,000 entries. Default: 100 entries. @@ -92,18 +92,18 @@ When the capacity is reached, the oldest idempotent IDs for that producer are ev ## Behavior -- Calling `XCFGSET` clears all existing producer IDMP maps for the stream -- At least one of `DURATION` or `MAXSIZE` must be specified -- The stream must exist before calling this command -- Configuration changes apply immediately to all future IDMP operations +- Calling `XCFGSET` clears all existing producer IDMP maps for the stream. +- At least one of `IDMP-DURATION` or `IDMP-MAXSIZE` must be specified. +- The stream must exist before calling this command. +- Configuration changes apply immediately to all future IDMP operations. ## Examples ```redis-cli XADD mystream * field value -XCFGSET mystream DURATION 300 -XCFGSET mystream MAXSIZE 1000 -XCFGSET mystream DURATION 600 MAXSIZE 500 +XCFGSET mystream IDMP-DURATION 300 +XCFGSET mystream IDMP-MAXSIZE 1000 +XCFGSET mystream IDMP-DURATION 600 IDMP-MAXSIZE 500 ``` ## Return information @@ -127,6 +127,5 @@ The command returns an error in the following cases: - **WRONGTYPE**: The key exists but is not a stream - **ERR no such key**: The stream does not exist - **ERR syntax error**: Invalid command syntax or missing required arguments -- **ERR invalid duration**: Duration value is outside the valid range (1-86400) +- **ERR invalid duration**: Duration value is outside the valid range (1-86,400) - **ERR invalid maxsize**: Maxsize value is outside the valid range (1-10,000) - diff --git a/content/develop/data-types/streams/idempotency.md b/content/develop/data-types/streams/idempotency.md index 96bc74d243..4a91df9359 100644 --- a/content/develop/data-types/streams/idempotency.md +++ b/content/develop/data-types/streams/idempotency.md @@ -17,6 +17,22 @@ weight: 10 In Redis 8.6, streams support idempotent message processing (at-most-once production) to prevent duplicate entries when using at-least-once delivery patterns. This feature enables reliable message submission with automatic deduplication. +Idempotent message processing ensures that handling the same message multiple times produces the same system state as handling it once. + +Beginning with Redis 8.6, streams support idempotent message processing (at-most-once production) to prevent duplicate entries when producers resend messages. + +Producers may need to resend messages under two scenarios: + +1. Producer-Redis network issues (disconnection and reconnection). + + If a disconnection occurs after the producer executes `XADD`, but before it receives the reply, the producer has no way of knowing if that message was delivered. + +1. The producer crashes and restarts. + + If the producer crashes after calling `XADD` but before receiving the reply and marking a message as delivered, after a restart, the producer has no way of knowing if that message was delivered. + +In both cases, to guarantee that the message is added to the stream, the producer must call `XADD` again with the same message. Without idempotent message processing, a retry may result in a message being delivered twice. With idempotent message processing, producers can guarantee at-most-once production even under such scenarios. + A unique ID, called an idempotent ID or *iid*, is associated with each message that is added to a stream. There are two ways to assign iids: @@ -31,8 +47,8 @@ For (1), this is the producer’s responsibility, and for (2), Redis will calcul Use the [`XADD`]({{< relref "/commands/xadd" >}}) command with idempotency parameters, `IDMP` or `IDMPAUTO`: ``` -XADD mystream IDMP producer1 msg1 * field value # producer-provided iid -XADD mystream IDMPAUTO producer2 * field value # Redis-generated iid +XADD mystream IDMP producer-1 iid-1 * field value # producer-1 (pid) and iid-1 (iid) are provided manually +XADD mystream IDMPAUTO producer-2 * field value # producer-2 (pid) is provided manually, Redis provides the iid ``` ### Manual mode (`IDMP`) @@ -61,6 +77,13 @@ XADD mystream IDMPAUTO producer1 * field value - Content-based: The same content produces the same iid. - Performance: Slightly slower due to hash calculation. +For both IDMP and IDMPAUTO, each producer application is required to use the same pid after it restarts. + +For IDMP, each producer application is responsible for: + +- Providing a unique iid for each entry (either globally, or just for each pid). +- Reusing the same (pid, iid) when resending a message (even after it restarts). + Here's an illustration of how message processing in Redis Streams works with and without idempotent production: {{< image filename="images/dev/stream/stream-idempotency.png" alt="Idempotent message processing in Redis Streams" >}} @@ -70,54 +93,53 @@ Here's an illustration of how message processing in Redis Streams works with and Configure idempotency settings for a stream using [`XCFGSET`]({{< relref "/commands/xcfgset" >}}): ``` -XCFGSET mystream DURATION 300 MAXSIZE 1000 +XCFGSET mystream IDMP-DURATION 300 IDMP-MAXSIZE 1000 ``` ### Parameters -- `DURATION`: How long (in seconds) to retain iids (1-86400 seconds, the default is 100). -- `MAXSIZE`: The maximum number of per-producer iids to track (1-10,000 entries, the default is 100). +- `IDMP-DURATION`: How long (in seconds) to retain iids (1-86400 seconds, the default is 100). +- `IDMP-MAXSIZE`: The maximum number of per-producer iids to track (1-10,000 entries, the default is 100). ### Expiration behavior Idempotent IDs are removed when either condition is met: -- Time-based: iids expire after the configured `DURATION`. -- Capacity-based: Oldest iids are evicted when `MAXSIZE` is reached. +- Time-based: iids expire after the configured `IDMP-DURATION`. +- Capacity-based: Oldest iids are evicted when `IDMP-MAXSIZE` is reached. Redis never keeps more than `IDMP-MAXSIZE` iids per pid. In other words, `IDMP-MAXSIZE` is *stronger* than `IDMP-DURATION`. ### Determine optimal configuration values -`DURATION` is an operational guarantee: Redis will not discard a previously sent iid for the specified duration (unless reaching `MAXSIZE` iids for that producer). -If a producer application crashes and stops sending messages to Redis, Redis will keep each iid for `DURATION` seconds, after which they will be discarded. -You should know how long it may take your producer application to recover from a crash and start resending messages. -`DURATION` should be set accordingly. -If `DURATION` is set too high, Redis will waste memory by retaining iids for a longer duration than necessary. +`IDMP-DURATION` is an operational guarantee: Redis will not discard a previously sent iid for the specified duration (unless reaching `IDMP-MAXSIZE` iids for that producer). +If a producer application crashes and stops sending messages to Redis, Redis will keep each iid for `IDMP-DURATION` seconds, after which they will be discarded. +You should know how long it may take your producer application to recover from a crash and start resending messages, so you should set `IDMP-DURATION` accordingly. +If `IDMP-DURATION` is set too high, Redis will waste memory by retaining iids for a longer duration than necessary. -**Example**: if a producer crashes, it may take up to 1,000 seconds until it recovers and restarts sending messages. You should set `DURATION` to 1000. +**Example**: if a producer crashes, it may take up to 1,000 seconds until it recovers and restarts sending messages. You should set `IDMP-DURATION` to 1000. When a producer application retrieves an `XADD` reply from Redis, it usually marks the message as *delivered* in a transaction database or log file. If the application crashes, it needs to resend undelivered messages after recovering from the crash. Since a few messages may have not been marked as delivered as a result of the crash, the application will likely resend these messages. Using iids will allow Redis to detect such duplicate messages and filter them. -Setting `MAXSIZE` correctly ensures that Redis retains a sufficient number of recent iids. -If `MAXSIZE` is set too high, Redis will waste memory by retaining too many iids. +Setting `IDMP-MAXSIZE` correctly ensures that Redis retains a sufficient number of recent iids. +If `IDMP-MAXSIZE` is set too high, Redis will waste memory by retaining too many iids. Usually this number can be very small, and often, even *one* is enough. -If your application marks messages as delivered asynchronously, you should know how long it may take from the time it retrieved a `XADD` reply from Redis until the message is marked as delivered; this duration is called *mark-delay*. `MAXSIZE` should be set to +If your application marks messages as delivered asynchronously, you should know how long it may take from the time it retrieved a `XADD` reply from Redis until the message is marked as delivered; this duration is called *mark-delay*. `IDMP-MAXSIZE` should be set to `mark-delay [in msec] * (messages / msec) + some margin.` -**Example**: a producer is sending 1K msgs/sec (1 msg/msec), and takes up to 80 msec to mark each message as delivered, `MAXSIZE` should be set to `1 * 80 + margin = 100` iids. +**Example**: a producer is sending 1K msgs/sec (1 msg/msec), and takes up to 80 msec to mark each message as delivered, `IDMP-MAXSIZE` should be set to `1 * 80 + margin = 100` iids. ## Producer isolation Each producer maintains independent idempotency tracking: ``` -XADD mystream IDMP producer1 msg1 * field value # Producer 1's tracking -XADD mystream IDMP producer2 msg1 * field value # Producer 2's tracking (independent) +XADD mystream IDMP producer-1 iid-1 * field value # producer-1 is tracking +XADD mystream IDMP producer-2 iid-1 * field value # producer-2 is tracking (independent) ``` -Producers can use the same idempotent ID without conflicts. +Producers can use the same iid without conflicts, as long as long as the pids are different. ## Monitoring @@ -127,13 +149,13 @@ Use [`XINFO STREAM`]({{< relref "/commands/xinfo-stream" >}}) to monitor idempot XINFO STREAM mystream ``` -Returns additional fields when idempotency is begin used: +Returns additional fields when idempotency is being used: - `idmp-duration`: Current duration setting. - `idmp-maxsize`: Current maxsize setting. -- `pids-tracked`: Number of active producers. -- `iids-tracked`: Total idempotent IDs currently stored. -- `iids-added`: Lifetime count of idempotent messages added. +- `pids-tracked`: The number of pids currently tracked in the stream +- `iids-tracked`: Total number of iids currently tracked. +- `iids-added`: Lifetime count of messages with idempotent IDs. - `iids-duplicates`: Lifetime count of duplicates prevented. ## Best practices @@ -142,8 +164,7 @@ Returns additional fields when idempotency is begin used: Use globally unique, persistent producer IDs: -- Recommended: UUID v4 for global uniqueness. -- Alternative: `hostname:process_id` or application-assigned IDs. +- Recommended: Use short producer IDs to save memory and increase performance. - Persistence: Use the same producer ID after restarts to maintain idempotency tracking. ### Configuration tuning @@ -168,7 +189,7 @@ Idempotency introduces minimal overhead: - Memory: <1.5% additional memory usage. - Latency: Negligible impact on per-operation latency. -Manual mode (IDMP) is slightly faster than automatic mode (IDMPAUTO) due to avoiding hash calculation. +Manual mode (IDMP) is slightly faster than automatic mode (IDMPAUTO) since it avoids hash calculations. ## Persistence @@ -176,5 +197,5 @@ Idempotency tracking persists across Redis restarts: - RDB/AOF: All producer-idempotent ID pairs are saved. - Recovery: Tracking remains active after restart. -- Configuration: `DURATION` and `MAXSIZE` settings persist. -- Important: Running `XCFGSET` clears all existing tracking data. Use without `DURATION` and `MAXSIZE` to clear data. +- Configuration: `IDMP-DURATION` and `IDMP-MAXSIZE` settings persist. +- Important: Executing `XCFGSET` with different `IDMP-DURATION` or `IDMP-MAXSIZE` values than the current values for a particular key clears its IDMP map. diff --git a/static/images/railroad/xcfgset.svg b/static/images/railroad/xcfgset.svg index 8b92cf2441..284a394205 100644 --- a/static/images/railroad/xcfgset.svg +++ b/static/images/railroad/xcfgset.svg @@ -1,4 +1,4 @@ - + - + XCFGSET key - - - -DURATION -duration - - - -MAXSIZE -maxsize \ No newline at end of file + + + +IDMP-DURATION +duration + + + +IDMP-MAXSIZE +maxsize \ No newline at end of file