Php 如何将前缀与predi一起使用?

Php 如何将前缀与predi一起使用?,php,redis,predis,Php,Redis,Predis,我使用PHP脚本处理Redis客户端 我正在尝试为此客户端中使用的所有密钥设置前缀: $client = new Predis\Client([ 'scheme' => 'tcp', 'host' => REDIS_IP, 'port' => REDIS_PORT, 'password' => REDIS_PASS, 'database' => REDIS_DB, 'prefix'

我使用PHP脚本处理Redis客户端

我正在尝试为此客户端中使用的所有密钥设置前缀:

$client = new Predis\Client([
    'scheme'    => 'tcp',
    'host'      => REDIS_IP,
    'port'      => REDIS_PORT,
    'password'  => REDIS_PASS,
    'database'  => REDIS_DB,
    'prefix'    => REDIS_PREFIX
]);
而且这应该像他们在报告中所说的那样起作用

但是
$client->exists(“mykey”)
返回false,而
$client->exists(REDIS\u前缀。“mykey”)
返回true

当然,我的目标是只使用
$client->exists(“mykey”)


我在终端上检查了一下,钥匙看起来没问题。(我已经手动插入了条目)

前缀
选项作为连接函数的第二个参数放置在新数组中。我的猜测是(在查看了您链接的文档之后),
prefix
不属于
new Predis\Client()
的第一组连接参数,而是属于(选项参数)的第二个参数

将代码更改为:

$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中给出的前缀

谢谢!我没注意到。愚蠢的错误