如何使用Predis的前缀?

问题描述 投票:0回答:1

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

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

php redis predis
1个回答
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中给出的前缀

© www.soinside.com 2019 - 2024. All rights reserved.