问题标签 [predis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
5957 浏览

redis - Predis 分片(一致哈希)

Predis 声称拥有客户端分片(支持一致的键散列)。http://github.com/nrk/predis

我可以使用连接到一组配置文件(节点)进行分片,但它不是一致的散列。当我将另一个节点添加到池中时,找不到某些键。有人有这方面的经验吗?

使用 php 5.2(和 redis 的 php 5.2 版本)。

0 投票
2 回答
10079 浏览

redis - redis 超时与 predis

我正在使用 redis 和 php(predis 在http://github.com/nrk/predis/)并且经常遇到超时。堆栈跟踪显示:

这种情况一直发生,我不知道为什么。有人有什么想法吗?

0 投票
2 回答
6037 浏览

php - 如何在 XAMPP 窗口上安装 Predis?

我使用 pearhub (pear install pearhub/predis) 在 XAMPP windows 机器上安装了 Predis。它安装时没有任何错误消息。但是当我执行以下操作时

它说 Predis 类未找到。任何想法如何在 Windows 上正确安装它?

0 投票
5 回答
8128 浏览

php - 在php网站上加载predis时遇到问题

答: 我不得不将 PREDIS_BASE_PATH 的路径更改为 predis/lib/。

我想在 PHP 文件中加载 predis,但我遇到了麻烦。我正在按照 predis github 网站 (https://github.com/nrk/predis) 上加载 predis 的指南进行操作。这是我用来加载 predis 的代码:

这是我得到的错误:

编辑:应该导入predis目录中的什么文件?更改文件夹权限后,我可以回显 $file 所持有的变量:“文件变量是:predis/Predis/Client.php”

根据此处列出的目录https://github.com/nrk/predis,没有 client.php 文件。

0 投票
0 回答
855 浏览

php - Predis 类 '\Predis\Commands\StringSetExpire' 未找到

我有一个非常奇怪的 predis 错误:

当我尝试使用以下代码时会发生这种情况:

文件存在。我将目录更改为该确切位置并打开一个有效文件。所以,我觉得我的路径是正确的。我正在尝试使用 AJAX 命令在 redis 数据库中设置键值。奇怪的是,当我使用“php 文件名”从终端执行 php 文件时,它根本不会抛出错误。

0 投票
1 回答
6397 浏览

php - 如何使用 predis 进行多次发布

如何在客户之间多次发布信息?
我的意思是当我从一个用户向另一个用户发布信息时,他会接收并返回,但这只是一次。
因为当一个用户向另一个用户发送一些东西时,正在加载 GET 并且接收停止,我怎样才能做到这一点,以便客户端永远接收,而不仅仅是一次?

0 投票
2 回答
10892 浏览

php - Predis 协议错误:无效的批量长度

我正在使用 predis,一切都很好,直到我开始收到此错误:

我不确定我为什么会得到它。错误在此文件中:此方法中的 Predis/Network/StreamConnection.php:

当它尝试对数组执行 strlen() 时,它会失败。

这是导致此失败的代码:

我不允许设置数组吗?当然我可以设置一个数组。我唯一改变的是我将文件设为 UTF-8,所以也许这搞砸了?

任何帮助,将不胜感激。

0 投票
2 回答
1094 浏览

php - 安装 predis pear 包 osx 时遇到问题

我正在尝试通过 osx 终端中的 pear 安装 predis 并收到此错误:

你知道我必须做什么才能发现 pearhub 吗?

0 投票
1 回答
633 浏览

redis - Predis - 从连接池中删除服务器

比如说,我在 predis 连接池中有 N 个服务器。我发现当其中一台服务器停机时,predis 不起作用(即,如果任何服务器 Si 停机,则 new predis/client(s1,s2,...) 不会成功返回)。首先,需要手动删除该故障服务器的条目,并且只有在此 predis 恢复其工作之后。既然 predis 声称使用了一致的哈希,那么 predis 不应该自动检测哪个服务器没有响应( & 已失败),并将存储在故障服务器上的密钥分发给其他工作服务器吗?

0 投票
3 回答
3887 浏览

php - 为什么我的 Predis 客户端的 PHPUnit 模拟不符合我的期望?

我试图在 PHPUnit 测试中模拟 Predis 客户端。当我调用我试图模拟出来的方法时,在测试结束时 PHPUnit 告诉我没有达到预期。

这是重现我的问题的代码示例:

}

并且 PHPUnit 认为该方法没有被调用:

1) MockRedisTest::testMockRedis 方法名称的期望失败等于调用 1 次。方法预期被调用 1 次,实际上被调用 0 次。

为什么?是不是因为 Predis 客户端似乎在使用 __call 来响应与 redis 命令匹配的方法调用?

更新:我觉得它与 __call 方法有关。将代码更改为此有效:

不确定我对此是否满意。有没有更好的方法来模拟使用 __call 代理方法的类?