PHP Swoole使用注意事项

PHP Swoole扩展使用过程中有些事项需要注意下。

以下是本人在实战过程中踩过的坑。

  1. Redis/MySQL等协程客户端须在go函数中使用,可用于处理并发事务

  2. 原生的sleep/usleep等函数会造成主进程阻塞,需将其放至go函数中,由Swoole改写的sleep/usleep等函数来调度。

  3. 并发协程同时执行的个数需控制,不然会造成连接数过多、同时打开文件过多等问题。

  4. MySQL协程的insert语句,生成的新记录的自增ID,可通过两种方式获取

# 方式1
$last_id = $swoole_mysql->query("select LAST_INSERT_ID() as last_id")[0]['last_id'];

# 方式2,推荐
$last_id = $swoole_mysql->last_id;
  1. MySQL协程的query方法,执行的是原生SQL语句,书写格式应尽量规范。

Leave a Comment

豫ICP备19001387号-1