The XACKDEL command acknowledges and deletes stream entries atomically in a single operation. This is useful for consumer groups where you want to acknowledge message processing and remove the entries from the stream simultaneously.
Arguments#
The key of the stream.
The consumer group name.
One or more stream entry IDs to acknowledge and delete.
Optional deletion behavior (case-insensitive):
KEEPREForkeepref: Keep consumer group referencesDELREFordelref: Delete consumer group referencesACKEDoracked: Only acknowledge messages (don't delete)
Response#
Use Cases#
- Message Queue Cleanup: Process messages and remove them from the stream in one operation
- Event Processing: Acknowledge event handling and clean up the stream
- Task Queue Management: Complete tasks and remove them atomically
- Memory Optimization: Reduce stream memory usage by removing processed entries
Comparison with XACK + XDEL#
Traditional approach (two operations):
With XACKDEL (single atomic operation):
Note
This command is available in Redis 8.2.0 and later. It combines XACK and XDEL into a single atomic operation, which is more efficient and ensures consistency.