Redis XDEL in PHP (Detailed Guide w/ Code Examples)

Use Case(s)

The XDEL command in Redis is used to delete one or multiple entries from a stream. This is commonly used when you want to remove specific messages from a stream, such as removing old or irrelevant data.

Code Examples

Here's an example of using xDel in PHP with the Predis client:

<?php require "vendor/autoload.php"; Predis\Autoloader::register(); try { $redis = new Predis\Client(); // Adding entries to a stream $redis->xadd('mystream', '*', 'field1', 'Hello'); // Delete an entry $redis->xdel('mystream', ['1526569495631-0']); } catch (Exception $e) { echo "Couldn't connected to Redis"; echo $e->getMessage(); } ?>

In this example, we first connect to the Redis server using Predis. We then add an entry to the stream 'mystream'. The xdel command is used to delete an entry with a specific ID ('1526569495631-0') from the stream.

Best Practices

  1. Make sure to handle exceptions while connecting to the Redis server or performing commands to prevent potential crashes or unforeseen behavior in your application.
  2. It's good practice to check if the stream and message ID exists before trying to delete it, as attempting to delete a non-existent message will return 0 and may not give the expected results.
  3. Always remember that Redis is case-sensitive. Be consistent with your casing when working with Redis commands.

Common Mistakes

  1. Forgetting that Redis is case sensitive. The command 'XDEL' is not the same as 'xdel'.
  2. Not connecting to the Redis client properly before trying to use the xdel command and other Redis operations.


1. Can I delete multiple entries at once with XDEL? Yes, you can pass an array of IDs to the XDEL command to delete multiple entries at once.

Was this content helpful?

Start building today

Dragonfly is fully compatible with the Redis ecosystem and requires no code changes to implement.