Serialize

警告

  1. 由于 PHP 内核频繁变更导致 serialize 模块维护成本过高, serialize 模块暂时放弃对 PHP-7.3 以上版本的支持

序列化

1.9.6版本增加了一个新的模块swoole_serialize,是一个高性能的序列化库,与PHP官方提供的serializejson_encode相比,swoole_serialize的不同之处是:

  • 序列化后的结果为二进制格式,只适合机器读取,不适合人读
  • 序列化性能更高,可节省大量CPU资源,基准测试中序列化和反序列化耗时为PHP官方serialize的40%
  • 序列化后的结果数据尺寸更小,可节省内存资源,基准测试中序列化结果尺寸为PHP官方serialize的50%
  • 基准测试脚本 benchmark
serialize模块仅在PHP7或更高版本中可用

相关配置

可修改php.ini配置,在swoole_server中的task功能中使用swoole_serialize对异步任务数据序列化。

  1. swoole.fast_serialize=On

独立扩展

swoole_serialize模块可单独编译安装,不需要依赖swoole扩展。