Serialize
最后更新于:2022-04-02 06:32:47
# Serialize
[TOC]
## 警告
~~~
由于 PHP 内核频繁变更导致 serialize 模块维护成本过高, serialize 模块暂时放弃对 PHP-7.3 以上版本的支持
~~~
## 序列化
`1.9.6`版本增加了一个新的模块`swoole_serialize`,是一个高性能的序列化库,与PHP官方提供的`serialize`和`json_encode`相比,`swoole_serialize`的不同之处是:
* 序列化后的结果为二进制格式,只适合机器读取,不适合人读
* 序列化性能更高,可节省大量CPU资源,基准测试中序列化和反序列化耗时为PHP官方`serialize`的40%
* 序列化后的结果数据尺寸更小,可节省内存资源,基准测试中序列化结果尺寸为PHP官方`serialize`的50%
* 基准测试脚本[benchmark](https://github.com/swoole/swoole-src/blob/master/benchmark/seria_bench.php)
> serialize模块仅在PHP7或更高版本中可用
## 相关配置
可修改`php.ini`配置,在swoole\_server中的task功能中使用`swoole_serialize`对异步任务数据序列化。
~~~
swoole.fast_serialize=On
~~~
## 独立扩展
`swoole_serialize`模块可单独编译安装,不需要依赖`swoole`扩展。
* GitHub主页:[https://github.com/swoole/swoole\_serialize](https://github.com/swoole/swoole_serialize)
* PECL主页:[https://pecl.php.net/package/swoole\_serialize](https://pecl.php.net/package/swoole_serialize)
';