牛逼的MessagePack

作者: 陈走路Aston | 来源:发表于2017-03-14 11:25 被阅读306次

今天看Redis,发现Redis支持Message,据说他比JSON更快、更小。那么Message到底是什么?

MessagePack和JSON的速度比较

一、MAC、PHP中安装MessagePack:

  1. 下载: http://pecl.php.net/get/msgpack-0.5.2.tgz/usr/local
  2. 解压: sudo tar -zvxf msgpack-0.5.2.tgz
  3. 编译: 进入文件夹执行sudo phpize,sudo ./configure,suido make,sudo make install
  4. 如果看到
    Installing shared extensions: /usr/lib/php/extensions/no-debug-non-zts-20131226/
    Installing header files: /usr/include/php/ 表示安装成功
  5. 拓展: 打开/etc/php.ini 添加extension=msgpack.so
  6. 重启: sudo apachectl restart

二、使用:

<?php
  <?php
  $arr = array("name" => "chenjian", "sex" => "男", "marry" => false, "age" => 27);

  echo "JSON:".json_encode($arr)."<br>";
  // JSON:{"name":"chenjian","sex":"\u7537","marry":false,"age":27}

  echo "JSON长度:".strlen(json_encode($arr))."<br>";
  // JSON长度:57

  echo "MessagePack:".msgpack_pack($arr)."<br>";
  // MessagePack:��name�chenjian�sex�男�marry£age�

  echo "MessagePack长度:".strlen(msgpack_pack($arr))."<br>";
  // MessagePack长度:35

PS: 你会发现messagepack处理后的字符串比json小,其实messagepack进行了以下核心压缩,对数字、多字节字符、数组等做了很多优化吗,减少了无用的字符,二进制格式。:

  1. true、false 之类的:这些太简单了,直接给1个字节,(0xc2 表示true,0xc3表示false),strlen(msgpack_pack(false)) 长度为1, strlen(json_encode(false))长度为5
messagepack与json的格式对比1 messagepack与json的格式对比2

相关文章

  • 牛逼的MessagePack

    今天看Redis,发现Redis支持Message,据说他比JSON更快、更小。那么Message到底是什么? 一...

  • messagepack 的简单使用

    混淆################messagepack############### MessagePack ...

  • 装逼

    裝逼不牛逼 牛逼不装逼 牛逼要裝逼 装逼真牛逼

  • 牛逼牛逼牛逼

    有一天, 我在墨爾本城區的一家泰國人餐廳吃飯,隔壁桌子吃飯的是一家多民族家庭,先生估計是西南歐洲某個民族的...

  • 简书,蛮有意思。

    世界上牛逼的人很多,牛逼的人本不牛逼,做了牛逼的事,才变牛逼。~一个80后的感言

  • 余紫玄说够牛逼系统

    余紫玄说够牛逼系统 够牛逼是什么意思? 就是您够牛逼。 您的话术非常牛逼,您的流量非常牛逼。 您能出单,您就够牛逼...

  • 没有人天生牛逼

    创业不是牛逼的人做了牛逼的事情,而是普通人通过做牛逼的事情变得牛逼。没有人天生牛逼,都是与困难的搏斗中磨砺出牛逼的...

  • 程序员的骄傲不是嘴炮上的互怼

    Angular 牛逼,还是 Vue 牛逼有那么重要么? 没有。React-Native 牛逼,还是 Weex 牛逼...

  • IG牛逼?!

    “IG牛逼!”,“IG牛逼!”宿舍外响起一阵喧闹。 “什么牛逼不牛逼,整天就晓得牛逼。”正躺在床上刷动态的我心想。...

  • 2018-10-07

    中中中 牛逼不 牛逼 牛

网友评论

    本文标题:牛逼的MessagePack

    本文链接:https://www.haomeiwen.com/subject/hebcnttx.html