使用predis它可以检查密钥是否存在?
我的users数据存储如下:
public function createUser($email, $password, $username)
{
return $this->predis->hMset("user:{$username}", [
'email' => $email,
'password' => $password,
'username' => $username
]);
}
Run Code Online (Sandbox Code Playgroud)
现在,当我检查用户是否存在时,请执行以下操作:
public function checkUserExists($username)
{
return $this->predis->hExists("user:{$username}", 'username');
}
Run Code Online (Sandbox Code Playgroud)
是否可以检查用户是否存在而不必检查密钥是否存在?例如,仅检查user:{$username}?
是。由于您的密钥本质上只是用户名,因此您只能查看密钥是否存在。您可以EXISTS为此使用Redis' :
public function checkUserExists($username)
{
return $this->predis->exists("user:{$username}");
}
Run Code Online (Sandbox Code Playgroud)
两者之间的速度差异将非常非常小,但是使用exists会使您的代码更加清晰。