PHP Redis: Getting Key Type (Detailed Guide w/ Code Examples)

Use Case(s)

In PHP applications, you might want to identify the type of data stored at a specific key in a Redis database. This is important when you want to apply specific operations that only work on certain data types.

Code Examples

First, let's connect to the Redis server:

$redis = new Redis();
$redis->connect('', 6379);

You can get the data type of a key using the type method. Here's how:

$keyType = $redis->type('mykey');

The type() function will return an integer representing the following types:

  • 0: None (key does not exist)
  • 1: String
  • 2: Set
  • 3: List
  • 4: Zset
  • 5: Hash

Best Practices

  • Always check if the key exists before trying to find out its type to avoid unnecessary errors.
  • Use constants for more readable code. For instance, define constants like REDIS_STRING, REDIS_SET, etc., and use them in your code.

Common Mistakes

Not handling the scenario where the key doesn't exist. If a non-existent key is provided, Redis will return 0. It’s advisable to handle this case explicitly in your code.


Q: Will getting the type of a key affect its time to live (TTL)?

A: No, getting the type of a key won't affect its TTL.

Was this content helpful?

Start building today

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