phpredis 和 predis
26

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。

本帖由系统于 7个月前 自动加精
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 4
keer

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

9个月前

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

9个月前

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

7个月前

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

6个月前

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!