redis - 获取与 PHP 客户端的连接时间



我的用例是一堆孤立的调用,在某些时候与 redis 交互。

问题是我看到获取连接的等待时间超长,在我的 LAN 环境中尝试了 predis 和 credis。超过 1-3 个客户端线程,我的 PHP 脚本连接到 redis 并选择数据库所需的时间从18毫秒到700 毫秒不等!

通常,我会使用连接池或缓存连接并在所有线程中使用它,但我认为这不能在 PHP 中通过不同的脚本完成。

我能做些什么来加快速度吗?

显然,Predis 需要设置persistent标志:https://github.com/nrk/predis/wiki/Connection-Parameters(和 FPM,这在 Windows 和 Linux 上设置都令人沮丧,更不用说在我们的实时设置切换到 FPM 之前进行测试了。

我已经切换到Phpredis(https://github.com/phpredis/phpredis(,这是一个PHP模块/扩展,现在一切都很好。使用$redis->pconnect()的连接时间急剧减少,并且在多个脚本/线程之间保持一致。

警告:它在错误处理方面与 Predis 略有不同(它在实例化对象时失败,而不是在运行第一次调用时失败,它返回false而不是不存在的值的null- ???(,所以如果从 Predis 切换,请注意这一点。

最新更新