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