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年前 自动加精
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 5

可以看出 laravel 的官方是推荐使用 predis

这句话是不是该改一下了,laravel 现在推荐 phpredis

3年前 评论

没用过predis 想问下 在调用方法的时候 这2个没啥太大的区别吧。
比如phpredis里$this->cache->get($key)获取数据 那么 predis里 应该也是这样的吧

6年前 评论

@keer 这两个库的基础方法使用差不多,不过有很多方法的命名和参数还不太一样,不过laravel对phpredis常用的方法进行封装了,在laravel中基本方法使用一致

6年前 评论

扩展主要是出了问题,不好排查。

6年前 评论

@fanhaobai 嗯,扩展是有这样的问题,不过开发者比较活跃,又是开源的~大问题一般不会有,谨慎升级就好了

6年前 评论

可以看出 laravel 的官方是推荐使用 predis

这句话是不是该改一下了,laravel 现在推荐 phpredis

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!