MessagePack是一種新的基於二進制的對象序列化類庫。它能夠像JSON那樣,在許多種語言之間交換結構對象(好比移動app項目);可是它比JSON更快速也更輕巧。 php
MessagePack簡稱msgpack,官方網站是 http://msgpack.org/ ,代碼能夠在github上查看 https://github.com/msgpack。
msgpack支持包括PHP在內的如下語言,很是豐富: git
Ruby Python Perl C/C++ Java Scala PHP Lua JavaScript Node.js Haskell C# Objective-C Erlang D OCaml Go LabVIEW Smalltalk
PHP安裝mskpack能夠經過PECL擴展方式安裝。 github
wget http://pecl.php.net/get/msgpack-0.5.5.tgz tar zxf msgpack-0.5.5.tgz cd msgpack-0.5.5 /usr/local/hx/php/bin/phpize ./configure --with-php-config=/usr/local/hx/php/bin/php-config make && make install而後再到php.ini添加
extension=msgpack.so shell
使用PHP操做:$data = array(0=>1,1=>2,2=>3); $msg = msgpack_pack($data); $data = msgpack_unpack($msg);在php下,msgpack對數組的支持很是棒,幾乎和json差很少。 與JSON的比較 優點: 1.序列化和反序列化所須要的時間少。經過30000條的記錄來測試,msgpack序列化的時間比使用jason來序列化JSON的時間要少三分之一;而反序列化的時間則要少一半。 2.生成的文件體積小。一樣也是基於30000條記錄來測試,msgpack序列化後生成的二進制文件比用jason序列化出來的時間要少一半。