php使用msgpack压缩和解压字符串

MessagePack  是一个高效的二进制序列化格式。它让你像JSON一样可以在各种语言之间交换数据。但是它比JSON更快、更小。小的整数会被编码成一个字节,短的字符串仅仅只需要比它的长度多一字节的大小。

官方用一句话总结了这个东东:


It’s like JSON.
but fast and small.

最初研究MessagePack 大概是两年前了,还开了个讲座给大家讲MessagePack是个什么东西,大概用在什么场合,它是不是给Javascript用的之类的。但是两年过去了,由于博客平台老系统太多,以至于这个协议一直没有能推进使用。后来,redis宣布支持MessagePack格式,以及pintrest等公司,也在积极得使用这个协议进行开发,说明这个格式确实有很多先进性。

PHP的MessagePack扩展在linux系统下的安装:
可以用PECL的安装方式:


pecl
install
msgpack

也可以编译源码安装:

$/path/to/phpize
$./configure
$make
&& make
install

windows系统安装msgpack扩展:http://pecl.php.net/package/msgpack/0.5.7/windows
使用方法:


<?php
$data
= array(0=>1,1=>2,2=>3);
$msg
= msgpack_pack($data);
$data
= msgpack_unpack($msg);
?>


有话要说