php MessagePack の紹介_PHP チュートリアル
1. 今日、ハックニュースで多くの人がメッセージパックについて議論しているのを見ました。まず MessagePack とは何かを理解します。MessagePack はバイナリベースの効率的なオブジェクトシリアル化ライブラリであり、JSON などの多くの言語間で構造化オブジェクトを交換できます。ただし、JSON とは異なり、非常に高速で小さいです。
2. 著者は、MessagePack には 2 つの主な用途があると説明しています。1 つは、スペース効率の高い Memcache エントリ (Pinterest) のストレージ、もう 1 つは RPC 送信用です。 RPC システムを設計するとき、最初のタスクの 1 つは通信プロトコルを指定して実装することです。このプロセスは、エンディアンのような多くの低レベルの問題を考慮する必要があるため、非常に複雑になります。 MessagePack を使用すると、通信プロトコルの設計と実装を完全にスキップし、開発を加速できます。3. 議論の余地がある点は、MessagePack のベンチマークは、protocolBuffer や Json よりも何倍も高速であると述べていることです。しかし、それを信じず、JavaScript (json と messagePack) でテストを行う人もいます。 MessagePack は json よりも約 10% 少ないデータしか圧縮せず、圧縮と解凍の時間は json パーサーよりもはるかに時間がかかることがわかります。
4. 「MsgPack と JSON: 1 行のコードでクライアントとサーバーの交換トラフィックを 50% 削減」 この記事では、messagePack を使用してサーバーを最適化し、サーバー上のデータ量を削減し、帯域幅をより適切に使用します。 。著者は、クライアントではむしろ 0.5 ミリ秒から 1 ミリ秒を無駄にしたいと強調しましたが、サーバーは Ruby の MessagePack パーサーを使用しており、これは JSON より 5 倍高速である可能性があります。
JSON
との違いは、MsgPack がバイナリベース であることです。これにより、交換されるデータ a) を小さくし、使用するバイト数を減らすことができます 。その利点は誰もが知っていると思いますが、次のような利点があります。さらに大きな利点: b) パーサーで 40 バイトを解析すると、20 バイトを解析する場合の約 2 倍の時間がかかり、解析 とエンコード が高速になります。 myJSONString = JSON.stringify(myObject); var myByteArray = msgpack.pack(myObject);
MessagePack の作成者は、ブログの作成者が説明したように、MessagePack がクライアント側のシリアル化には最適な選択ではない可能性もあると考えています。2 の作成者の言葉を引用するのは少し悲劇的です。
JSON に似ていますが、高速で小さいです
この文に惹かれて見に行きました。
公式のインストール方法は誤解を招きます。msgpack ディレクトリの下に php ディレクトリはありません...csharp、erlang、go、java、ruby およびその他のディレクトリのみが表示されます。 。
コードをコピーします
コードは次のとおりです:
git clone https://github.com/msgpack/msgpack.git
cd msgpack/php
phpize
./configure && make && make install
この拡張機能は PHP 公式 Web サイトでまだ見つかりました: http://pecl.php.net/package/msgpack
最終更新時間: 2012 年 9 月 14 日、昨日のバージョン。
コードは次のとおりです:
wget http://pecl.php.net/get/msgpack-0.5.2.tgz
tar zxf msgpack -0.5.2.tgz
/usr/local/hx/php/bin/phpize
./configure --with-php-config=/usr/local/hx/php/bin/php -config
make && make install
次に、msgpack.so を php.ini に追加し、php を再起動して、インストールを完了します。
テストの開始:
$data = array(0=>'abcdefghijklmnopqrstuvwxyz',1=>'Xiamen','abc'=>'1234567890');
msgpack_pack、json_encode、serialize、length をそれぞれ設定します。は: 50、62、87
それぞれ 10,000 回実行、時間がかかります: 9.95 ミリ秒、17.45 ミリ秒、8.85 ミリ秒
ロック解除の実行が 10,000 回、時間がかかります: 14.76 ミリ秒、23.93 ミリ秒、14.61 ミリ秒
msgpackのパフォーマンスは少なくとも json50% 以上、速度はシリアライズとほぼ同じですが、シリアライズはかなり多くのスペースを消費します。
さらに、中国語には msgpack_pack を使用することもできます。json を使用する場合は、json_encode を行う前に utf-8 にバッチ変換する必要があります。
引用:
1、MessagePack公式サイト
2、MsgPack と JSON: 1 行のコードでクライアントとサーバーの交換トラフィックを 50% 削減します
HNコメントアドレス:http://news.ycombinator.com/item?id=4090831
3.MessagePackについての私の考え
HNコメントアドレス:http://news.ycombinator.com/item?id=4092969
4 JS での MessagePack と JSON のパフォーマンスの比較
HNコメントアドレス:http://news.ycombinator.com/item?id=4091051

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。
