在redis-php中存在检查密钥的最快方法

在redis-php中存在检查密钥的最快方法,php,redis,predis,phpredis,Php,Redis,Predis,Phpredis,是否有比EXISTS更快的方法来检查redis中是否存在密钥 我的问题是,我在redis中有超过100万条记录,我需要做一个密钥检查。这应该在10毫秒内发生 有什么想法吗?使用EXISTS命令是最快的方法,应该非常快。如果您觉得速度太慢,可能是因为您的服务器和redis服务器之间的延迟,而与命令本身无关。为了减少您需要在应用程序中使用某种逻辑模式保留密钥索引的时间。这意味着不必在所有键上执行exists,您可以在索引集/zset上执行sismember或zscore。例如,你有与用户、消息和排行

是否有比
EXISTS
更快的方法来检查redis中是否存在密钥

我的问题是,我在redis中有超过100万条记录,我需要做一个密钥检查。这应该在10毫秒内发生


有什么想法吗?

使用
EXISTS
命令是最快的方法,应该非常快。如果您觉得速度太慢,可能是因为您的服务器和redis服务器之间的延迟,而与命令本身无关。

为了减少您需要在应用程序中使用某种逻辑模式保留密钥索引的时间。这意味着不必在所有键上执行
exists
,您可以在索引集/zset上执行
sismember
zscore
。例如,你有与用户、消息和排行榜等相关的密钥,你保存的集合称为
keys:users
keys:messages
等。我有一个开源的库来帮助管理你的密钥名称,并使这件事变得更容易存在
的时间复杂度是O(1),因此,这是最快的算法


您的问题来自其他地方,但您可以使用检查
存在的实际执行时间来确保。

存在的
的时间复杂度为
O(1)
,这是您所能获得的最佳时间。