我正在使用nrk/predis用于在我的 PHP 脚本中处理 Redis 客户端。
我正在尝试为此客户端中使用的所有键设置前缀:
$client = new Predis\Client([
'scheme' => 'tcp',
'host' => REDIS_IP,
'port' => REDIS_PORT,
'password' => REDIS_PASS,
'database' => REDIS_DB,
'prefix' => REDIS_PREFIX
]);
这应该像他们的 client configuration 中所述那样工作。 .
但是 $client->exists("mykey")
返回 false,而 $client->exists(REDIS_PREFIX . "mykey")
返回 true。
当然,我的目标是仅使用 $client->exists("mykey")
。
我检查了终端, key 看起来没问题。 (我已手动插入条目)
最佳答案
将 prefix
选项放入新数组中,作为连接函数的第二个参数。我的猜测是(查看您链接的文档后) prefix
不属于 new Predis\Client()
的第一组连接参数,而是属于第二个参数for(options
参数)。
将代码更改为:
$client = new Predis\Client([
'scheme' => 'tcp',
'host' => REDIS_IP,
'port' => REDIS_PORT,
'password' => REDIS_PASS,
'database' => REDIS_DB
], [
'prefix' => REDIS_PREFIX
]);
这应该允许您调用 $client->exists('mykey');
并且它将使用 REDIS_PREFIX 中给定的前缀
关于php - 如何在 Predis 中使用前缀?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47875298/