我在 PHP 脚本中使用nrk/predis处理 Redis 客户端。
我正在尝试为此客户端中使用的所有键设置前缀:
$client = new Predis\Client([
'scheme' => 'tcp',
'host' => REDIS_IP,
'port' => REDIS_PORT,
'password' => REDIS_PASS,
'database' => REDIS_DB,
'prefix' => REDIS_PREFIX
]);
Run Code Online (Sandbox Code Playgroud)
这应该按照其客户端配置中的说明工作。
但$client->exists("mykey")返回false,又$client->exists(REDIS_PREFIX . "mykey")返回true。
当然,我的目标是只使用$client->exists("mykey").
我检查了终端,密钥看起来没问题。(我已手动插入条目)
将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
]);
Run Code Online (Sandbox Code Playgroud)
这应该允许您调用,$client->exists('mykey');并且它将使用 REDIS_PREFIX 中给定的前缀
| 归档时间: |
|
| 查看次数: |
4539 次 |
| 最近记录: |