phpredis和predis的区别是什么

phpredis 和 predis

redis官方推荐的php客户端是predis和phpredis。前者是完全使用php代码实现的原生客户端,后者则是用c编写的php拓展。在功能上二者区别不大,就性能而言后者更胜一筹。

虽然predis的性能逊于phpredis,但除非执行大量的redis命令,否则很难区分二者的性能。而且实际应用中执行redis的命令的开销更多在网络传输上,单纯注重客户端的性能的意义不大。

1、phpredis在扩展中使用c可以保持php-fpm到redis的长连接,所以一个php-fpm进程上的多个请求是复用同一个连接的。phpredis的pconnect就是长连接方式。

2、predis是使用php的socket来连接redis,所以需要每次请求连接redis。

可以看出laravel的官方是推荐使用predis的,因为纯php实现的原因,只需要composer即可安装,非常符合laravel便捷的思想。

phpredis 和 predis 的性能差距没有跨数量级,当然要考虑具体业务,如果业务非常依赖redis,并且单机qps需要支持的比较大,建议使用phpredis。如果你只是使用laravel使用redis实现规模小的业务,建议不用改变predis。