Redis - Check if key exists using predis

11,328

Yes. Since your key is essentially just the user name, you can just see if the key exists. You can use Redis' EXISTS for this:

public function checkUserExists($username)
{
    return $this->predis->exists("user:{$username}");
}

The speed difference between the two will be very, very small, but using exists will make your code a bit cleaner.

Share:
11,328
BugHunterUK
Author by

BugHunterUK

Updated on June 13, 2022

Comments

  • BugHunterUK
    BugHunterUK almost 2 years

    Using predis is it possible to check if a key exists?

    My users data is stored as follows:

    public function createUser($email, $password, $username)
    {
        return $this->predis->hMset("user:{$username}", [
            'email' => $email,
            'password' => $password,
            'username' => $username
        ]);
    }
    

    Now, when I check to see if a user exists I do the following:

    public function checkUserExists($username)
    {
        return $this->predis->hExists("user:{$username}", 'username');
    }
    

    Is it possible to check if the user exists without having to check if the key exists? For example by just checking user:{$username}?

  • BugHunterUK
    BugHunterUK over 8 years
    Thanks. I ended up solving my problem a different way as I also needed to check if both email, and username, already exist (separately). I used a set for emails, and a set for username and then used exists to check Thanks.