如何使用Predis的前缀?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Predis的前缀?相关的知识,希望对你有一定的参考价值。

我正在使用nrk/predis在我的php脚本中处理Redis客户端。

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

$client = new PredisClient([
    '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")

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

答案

prefix选项放在新数组中作为连接函数的第二个参数。我猜测(在查看你链接的文档之后)prefix不属于new PredisClient()的第一组连接参数,而是属于(options参数)的第二个参数。

将代码更改为:

$client = new PredisClient([
    'scheme'    => 'tcp',
    'host'      => REDIS_IP,
    'port'      => REDIS_PORT,
    'password'  => REDIS_PASS,
    'database'  => REDIS_DB
], [
    'prefix'    => REDIS_PREFIX
]);

这应该允许你调用$client->exists('mykey');,它将使用REDIS_PREFIX中给出的前缀

以上是关于如何使用Predis的前缀?的主要内容,如果未能解决你的问题,请参考以下文章

Laravel,Predis - 如何遍历哈希

Predis 分片(一致哈希)

lumen 下安装predis及使用

leetcode_1292. Maximum Side Length of a Square with Sum Less than or Equal to Threshold_[二维前缀和](代码片段

Predis 给出“从服务器读取行时出错”

我在 Laravel 5.2 中收到错误“找不到类 'Predis\Client'”