use*_*754 6 python protocol-buffers
我最近读过一篇关于协议缓冲的文章,
Protocol Buffers是一种序列化结构化数据的方法.它有助于开发程序通过电线相互通信或存储数据.该方法涉及描述某些数据结构的接口描述语言和从该描述生成源代码以生成或解析表示结构化数据的字节流的程序.
我想知道的是,在哪里使用它们?有没有现实生活中的例子而不是简单的地址簿示例?例如,它是否用于预缓存数据库的查询结果?
协议缓冲区是一种数据存储和交换格式,特别用于RPC——程序或计算机之间的通信。
替代方案包括特定于语言的序列化(Java 序列化、Python pickles等)、表格格式(如 CSV 和 TSV)、结构化文本格式(如 XML 和 JSON)以及其他二进制格式(如Apache Thrift )。从概念上讲,这些只是表示结构化数据的不同方式,但在实践中它们各有优缺点。
协议缓冲区是:
.proto
编译器。通过将结构从数据协议缓冲区中分离出来可以是精简和吝啬的,但这意味着没有关联的.proto
文件和类似protoc
生成代码来解析它的工具,proto 格式的任意数据是不可用的。这使得 protos 成为将数据发送给可能没有.proto
文件的其他人的糟糕选择。对不同的格式做一些全面的概括:
Google 以使用协议缓冲区而闻名,他们所做的几乎所有事情都使用协议缓冲区。如果您可以想象需要存储或传输数据的原因,Google 可能会使用协议缓冲区来实现。