redis 的 connect 和 pconnect
pconnect 是 redis 的长连接,其生命周期就是 php-fpm 的生命周期。只有当 php-fpm 进程销毁,redis 连接才会失效。调用 close 只是让当前 php 不再执行 redis 请求。
connect 是建立一次,获取完信息之后,调用 close 便将连接销毁。
redis 的连接池
因为 pconnect 的生命周期是直到 PHP-FPM 结束,所以当有很多长连接同一台 redis 服务器时,就会造成很多 FD 的错误,所以 phpredis 在 4.2.1 版本实现了连接池。
就是在 php.ini
文件中把 redis.pconnect.pooling_enabled
设置为 1。之后向之前的版本一样使用 pconnect
就可以。
参考: