国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

php中使用protobuffer

biaoxiaoduan / 3015人閱讀

摘要:簡介是谷歌出品的跨平臺跨語言可擴展的數據傳輸及存儲的協議,是高效的數據壓縮編碼方式之一。相比于來說,更加小巧,更加快速,更加簡單。此外,由于其在內網高效的數據交換效率,是被廣泛應用于微服務的,在谷歌的開源框架即是基于此構建起來的。

Protobuf 簡介

protobuf(Protocol buffers)是谷歌出品的跨平臺、跨語言、可擴展的數據傳輸及存儲的協議,是高效的數據壓縮編碼方式之一。

Protocol buffers 在序列化數據方面,它是靈活的,高效的。相比于 XML 來說,Protocol buffers 更加小巧,更加快速,更加簡單。一旦定義了要處理的數據的數據結構之后,就可以利用 Protocol buffers 的代碼生成工具生成相關的代碼。甚至可以在無需重新部署程序的情況下更新數據結構。只需使用 Protobuf 對數據結構進行一次描述,即可利用各種不同語言或從各種不同數據流中對你的結構化數據輕松讀寫。

Protocol buffers 很適合做數據存儲或 RPC 數據交換格式。可用于通訊協議、數據存儲等領域的語言無關、平臺無關、可擴展的序列化結構數據格式。

此外,Protobuf由于其在內網高效的數據交換效率,是被廣泛應用于微服務的,在谷歌的開源框架grpc即是基于此構建起來的。

php-protobuf安裝

由于protobuf原生并不支持php,所以php如果使用pb則需要安裝相應擴展。

pecl install protobuf

環境中需要有protoc編譯器,下載安裝方式:

$ wget https://github.com/google/protobuf/releases/download/v2.5.0/protobuf-2.5.0.tar.gz
$ tar zxvf protobuf-2.5.0.tar.gz
$ cd protobuf-2.5.0
$ ./configure --prefix=/usr/local/protobuf
$ sudo make 
$ sudo  make install

驗證安裝成功:

$ /usr/local/protobuf/bin/protoc  --version
libprotoc 2.5.0

php-protobuf安裝成功

php --ri protobuf
安裝lumen和google/protobuf依賴
lumen new rpc
lumen new rpc命令相當于composer create-project laravel/lumen rpc
composer require google/protobuf

composer.json下添加classmap:

{
    "classmap": [
        "protobuf/"
    ]
}

ok,準備工作都已做好了。

自己做一個demo

在代碼目錄下創建一個protobuf文件夾mkdir protobuf

進入該目錄,創建一個文件searchRequest.proto

syntax = "proto3";
message SearchRequest {
    string query = 1;
    int32 page_number = 2;
    int32 result_per_page = 3;
    enum Corpus {
        UNIVERSAL = 0;
        WEB = 1;
        IMAGES = 2;
        LOCAL = 3;
        NEWS = 4;
        PRODUCTS = 5;
        VIDEO = 6;
    }
    Corpus corpus = 4;
}

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/31753.html

相關文章

  • 從java的序列化和反序列化說起

    摘要:從的序列化和反序列化說起序列化是將對象的狀態信息轉換為可以存儲或傳輸的形式的過程,而相反的過程就稱為反序列化。當使用接口來進行序列化與反序列化的時候需要開發人員重寫與方法。 從java的序列化和反序列化說起 序列化 (Serialization)是將對象的狀態信息轉換為可以存儲或傳輸的形式的過程,而相反的過程就稱為反序列化。 在java中允許我們創建可復用的對象,但是這些對象僅僅存在j...

    whlong 評論0 收藏0
  • 前端20個靈魂拷問 徹底搞明白你就是級前端工程師 【下篇】

    摘要:安裝后已經完成了安裝,并且等待其他的線程被關閉。激活后在這個狀態會處理事件回調提供了更新緩存策略的機會。并可以處理功能性的事件請求后臺同步推送。廢棄狀態這個狀態表示一個的生命周期結束。 showImg(https://segmentfault.com/img/bVbwWJu?w=2056&h=1536); 不知不覺,已經來到了最后的下篇 其實我寫的東西你如果認真去看,跟著去寫,應該能有...

    fireflow 評論0 收藏0
  • 基于騰訊開源的msec來進行php開發模塊

    摘要:毫秒服務引擎是一個開源框架,適用于在廉價機器組成的集群上開發和運營分布式后臺服務。毫秒服務引擎集名字發現服務負載均衡業務監控灰度發布容量管理日志管理存儲于一體。 msecphp 毫秒服務引擎(Mass Service Engine in Cluster)是一個開源框架,適用于在廉價機器組成的集群上開發和運營分布式后臺服務。 毫秒服務引擎集RPC、名字發現服務、負載均衡、業務監控、灰度發...

    W4n9Hu1 評論0 收藏0
  • 基于騰訊開源的msec來進行php開發模塊

    摘要:毫秒服務引擎是一個開源框架,適用于在廉價機器組成的集群上開發和運營分布式后臺服務。毫秒服務引擎集名字發現服務負載均衡業務監控灰度發布容量管理日志管理存儲于一體。 msecphp 毫秒服務引擎(Mass Service Engine in Cluster)是一個開源框架,適用于在廉價機器組成的集群上開發和運營分布式后臺服務。 毫秒服務引擎集RPC、名字發現服務、負載均衡、業務監控、灰度發...

    anRui 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<