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

时间:2017-07-31 15:36:45

标签: java php redis

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

问题是,在我的局域网环境中尝试了prediscredis时,我看到了获取连接的超长等待时间。超过1-3个客户端线程,我的PHP脚本连接到redis并选择数据库的时间从 18ms 700ms

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

我有什么办法可以加快速度吗?

1 个答案:

答案 0 :(得分:0)

显然,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切换,请注意这一点。