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

Use Case(s)

The HSTRLEN command in Redis is used when you want to get the length of the value of a hash field. This is commonly used for validating data lengths in Redis hashes before processing that data or displaying it to an end user.

Code Examples

In PHP, using the predis library, this can be accomplished as follows:

Example 1:

$client = new Predis\Client(); $key = 'user:1'; $field = 'name'; $length = $client->hstrlen($key, $field); echo "Length of the field value: " . $length;

This code connects to the Redis server and prints the length of the value stored at the field 'name' in the hash 'user:1'.

Example 2:

$client = new Predis\Client(); $key = 'user:1'; $fields = ['name', 'email']; foreach($fields as $field) { $length = $client->hstrlen($key, $field); echo "Length of the value of ${field}: " . $length . "\n"; }

This example demonstrates how you might want to check the length of multiple fields within the same hash key.

Best Practices

  • Only use HSTRLEN if you need to validate the length of a hash field value in Redis. If you just need to check if a value exists, use HEXISTS.
  • Remember that HSTRLEN returns 0 for non-existing keys or fields.

Common Mistakes

  • Using HSTRLEN on a key that is not a hash will result in an error. Always ensure the key points to a hash before using this command.
  • Assuming HSTRLEN returns null for non-existing keys or fields. In reality, it will return 0.


Q: What if I call HSTRLEN on a non-existing key or a non-existing field within an existing hash? A: The HSTRLEN command will return 0 in both cases.

Was this content helpful?

Start building today

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