phpredis 和 predis
phpredis 是使用c写的php扩展,predis 是使用纯php写的。
在性能上的区别当然是扩展更好一些,但其实这两个实现还有更大的区别,就是连接的保持。
- phpredis在扩展中使用c可以保持php-fpm到redis的长连接,所以一个php-fpm进程上的多个请求是复用同一个连接的。phpredis的pconnect就是长连接方式。
- predis是使用php的socket来连接redis,所以需要每次请求连接redis。
可以看出laravel的官方是推荐使用predis的,因为纯php实现的原因,只需要composer即可安装,非常符合laravel便捷的思想。
phpredis 和 predis 的性能差距没有跨数量级,当然要考虑具体业务,如果业务非常依赖redis,并且单机qps需要支持的比较大,建议使用phpredis。如果你只是使用laravel使用redis实现规模小的业务,建议不用改变predis。
本作品采用《CC 协议》,转载必须注明作者和本文链接
本帖由系统于 6年前 自动加精
高认可度评论:
这句话是不是该改一下了,laravel 现在推荐 phpredis
没用过predis 想问下 在调用方法的时候 这2个没啥太大的区别吧。
比如phpredis里$this->cache->get($key)获取数据 那么 predis里 应该也是这样的吧
@keer 这两个库的基础方法使用差不多,不过有很多方法的命名和参数还不太一样,不过laravel对phpredis常用的方法进行封装了,在laravel中基本方法使用一致
扩展主要是出了问题,不好排查。
@fanhaobai 嗯,扩展是有这样的问题,不过开发者比较活跃,又是开源的~大问题一般不会有,谨慎升级就好了
这句话是不是该改一下了,laravel 现在推荐 phpredis