如何使用Predis的前缀?

时间:2017-12-18 19:38:49

标签: php redis predis

我使用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")

我检查了终端,键看起来不错。 (我已手动插入条目)

1 个答案:

答案 0 :(得分:2)

prefix选项放在新数组中作为连接函数的第二个参数。我的猜测是(在查看您链接的文档之后)prefix不属于new Predis\Client()的第一组连接参数,而是属于(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中提供的前缀