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
A list of integers indicating the result for each ID in the same order as provided.
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):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.