Getting the Length of a List in Redis using PHP (Detailed Guide w/ Code Examples)

Use Case(s)

Redis Lists are simply lists of strings, sorted by insertion order. They are often used for tasks such as storing social media posts, user comments, or other time-series data. A common operation on these lists is to check their length, i.e., the number of elements present.

Code Examples

There's a specific command to do this in Redis called LLEN. Here's how you can use it with PHP and Predis, a feature-rich PHP Redis client:

require "vendor/autoload.php"; Predis\Autoloader::register(); try { $redis = new Predis\Client(); // Insert values into list $redis->lpush('mylist', 'value1'); $redis->lpush('mylist', 'value2'); // Get the length of list $len = $redis->llen('mylist'); echo "Length of list: $len"; } catch (Exception $e) { echo "Couldn't connected to Redis"; echo $e->getMessage(); }

In this example, we're creating a list named 'mylist' and pushing two values to it. The length of the list is then retrieved and printed.

Best Practices

  • Always handle exceptions when connecting to a Redis server or executing commands. This will prevent your application from failing unexpectedly.
  • Keep the list names and structure consistent across your application. It makes it easier to manage and debug if required.

Common Mistakes

  • Trying to get length of non-existing keys will return 0, it doesn't raise an exception. So make sure that the key exists before attempting to get its length.
  • Be sure you're working with a list and not some other data type like a set or sorted set. The LLEN command is specifically for lists.


  1. Can I use the LLEN command on other data types? No, the LLEN command is specifically designed for lists. Using it on other data types would result in an error.

  2. What happens if I try to get the length of a non-existing key? Redis will interpret this as getting the length of an empty list, and thus will return 0.

Was this content helpful?

Start building today

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