PHP Redis: Get All Keys and Values (Detailed Guide w/ Code Examples)

Use Case(s)

In PHP, using Redis to store data can be extremely beneficial for caching, session storage, and more. Often, you may need to retrieve all keys and their associated values from a Redis database for various reasons such as debugging, data analysis, or system monitoring.

Code Examples

  1. Get all keys:
$redis = new Redis(); $redis->connect('localhost', 6379); $keys = $redis->keys('*'); print_r($keys);

In this example, we first establish a connection to the Redis server. The keys('*') function retrieves all keys from the Redis server.

  1. Get all keys and values:
$redis = new Redis(); $redis->connect('localhost', 6379); $keys = $redis->keys('*'); foreach ($keys as $key) { $value = $redis->get($key); echo "Key: {$key}, Value: {$value}\n"; }

After getting all keys, we loop through each key and use the get() function to retrieve its corresponding value.

Best Practices

  • Avoid using the keys('*') command in a production environment because it can degrade performance. Use it sparingly or during maintenance periods.
  • Use more specific patterns with the keys(pattern) function where possible to avoid unnecessary hits to the database.

Common Mistakes

  • Not handling the case where the database is empty, which can lead to errors. Always check if keys exist before trying to get values.


1. How can I filter keys in Redis using PHP? In PHP, you can filter keys in Redis by passing a pattern to the keys(pattern) function.

2. What happens when I try to get a value of a key that doesn't exist? If you try to get a value of a key that does not exist, Redis will return NULL.

Was this content helpful?

Start building today

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