红联Linux门户
Linux帮助

swoole-1.8.0发布,PHP的异步并行C扩展

发布时间:2016-01-27 16:32:25来源:红联作者:baihuo
Swoole-1.8.0 版本已发布,此版本是一个里程碑式新版本,新增了多项新特性、多项核心功能优化以及问题修复、移除了无效的特性。更新内容如下:

客户端

增加原生异步 MySQL 客户端

增加原生异步 Redis 客户端,基于 Redis 官方提供的 hiredis 库

增加原生异步 Http 客户端

增加原生异步 WebSocket 客户端支持

重构底层 swClient,异步 TCP 客户端实现放到 swoole 内核中

增加 swoole_client->reuse 属性,SWOOLE_KEEP 长连接模式下标识是否为复用的连接

服务器端

重构 websocket 服务器代码,底层与 length_check 协议复用相同的处理函数,增强稳定性

增加 Task 进程对 tick/after 定时器的支持,底层基于高精度的 setitimer+ 信号实现

保存构造函数中传入的 host、port 参数到 swoole_server 对象属性

增加多端口多协议的支持(重要更新)

增加 swoole_server->defer 函数用于延时执行一些函数

增加 swoole_server->close 强制切断连接的选项,设置第二个参数会 true 会清空发送队列并立即切断连接

其他

增加swoole_table对key值的存储,foreach遍历table时可以获取到key值

更改swoole_table的key对比模式,从crc32比对改为直接进行字符串对比

更新utlist.h库到1.9.9版本

swoole_table保存Key值会增加内存占用,如table的size为100万,KEY值存储会增加64M内存占用

问题修复

修复启用消息队列后发生double-free问题

重构定时器,修复after、tick定时器偶然出现的core dump的问题

定时器使用最小堆数据结构,插入/删除时间复杂度为log(N)

修复swoole_process::signal在PHP7下发生core dump的问题

修复swoole_async_write在PHP7下发生core dump的问题

移除特性

移除未支持的特性相关历史遗留代码,如heartbeat_ping、dispatch_key_type等

移除swoole_server->addtimer、swoole_server->deltimer、swoole_server->gettimer

移除swoole_timer_add、swoole_timer_del

移除swoole_server的onTimer事件

移除task_worker_max配置及相关特性代码

移除swoole_server->handler方法

软件详情:http://www.swoole.com/

下载地址:https://github.com/swoole/swoole-src

来自:开源中国社区
文章评论

共有 0 条评论