php - Redis - 使用 predis 检查键是否存在

标签 php redis predis

使用 predis 是否可以检查 key 是否存在?

我的用户数据存储如下:

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

现在,当我检查用户是否存在时,我会执行以下操作:

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

是否可以在不检查 key 是否存在的情况下检查用户是否存在?例如,只需检查 user:{$username}?

最佳答案

是的。由于您的 key 本质上只是用户名,因此您可以只查看该 key 是否存在。您可以为此使用 Redis 的 EXISTS:

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

两者之间的速度差异会非常非常小,但是使用 exists 会让您的代码更简洁一些。

关于php - Redis - 使用 predis 检查键是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35200015/

相关文章:

redis - BLPOP 和 MISCONF 配置 Redis 保存 RDB 快照

Laravel 5.5 Redis 问题 - 调用未定义的方法 Illuminate\Support\Facades\Redis::connect()

javascript - X-可编辑简单数据库更新不更新

php - mySQL 从 'users' 表中的 'messages' 表返回值,其中三列将返回不同的用户

php - PHP 代码中的 Mysql 查询不起作用

PHP 使用 Intelephense 调用 mysqli 的正确方法

database - Redis,redis fatal error 无法打开配置文件

spring - 无法连接到本地 Spring boot 中 docker 上运行的 redis sentinel

session - Laravel 不在 Redis 中存储 session 数据

php - Redis 中的 CRUD 和关系 : How to