igbinary:PHP serialize函数的高效替代方案
探究igbinary作为PHP serialize函数的高效替代方案,其特点包括更快的速度和更小的数据大小,特别适用于Memcached, APC, Redis等缓存存储。
igbinary是一个针对PHP的serialize函数的高效替代方案。它不仅速度更快,而且生成的数据体积也更小。
特点
- 通过igbinary序列化的数据是以二进制格式生成的
- 非常适合用于Memcached, APC, Redis等缓存存储
- 处理复杂数据结构时,相比serialize和json_encode,能更有效地节省存储空间
与serialize函数的比较
参考这里的性能基准测试,可以发现igbinary在数据体积上的优势远胜于速度上的优势。
安装步骤
$ git clone https://github.com/phadej/igbinary.git
$ phpize
$ ./configure CFLAGS="-O2 -g" --enable-igbinary
$ make; make install;
然后在/etc/php5/fpm/conf.d/目录下创建igbinary.ini文件:
extension=igbinary.so
session.serialize_handler=igbinary
igbinary.compact_strings=On