数据结构 - Protocol Buffer
前言
一般习惯用Json、XML 数据存储格式,相信大多都没听过Protocol Buffer。
Protocol Buffer 其实是Google出品的一种轻量 & 高效的结构化数据存储格式,性能比 Json、XML 强太多。
Protocol Buffer的性能好在哪里:
a. 序列化速度 & 反序列化速度快
b. 数据压缩效果好,即序列化后的数据量体积小
1. 定义
一种结构化数据的数据存储格式(类似于 XML、Json),简称protobuf 或者 PB
Google 出品 (开源)
Protocol Buffer 目前有两个版本:proto2 和 proto3
因为proto3还是beta 版,所以本次讲解是 proto2
2. 作用
通过将结构化的数据进行串行化(序列化),从而实现数据存储 / RPC 数据交换的功能
序列化: 将数据结构或对象转换成二进制串的过程
反序列化:将在序列化过程中所生成的二进制串转换成数据结构或者对象的过程
3. 特点
对比于常见的 XML、Json 数据存储格式,Protocol Buffer有如下特点:
4. 应用场景
传输数据量大 & 网络环境不稳定的数据存储、RPC数据交换的需求场景
如 即时IM (QQ、微信)的需求场景
5. 使用流程
1) 定义消息格式,编写.proto文件
2) 选择合适的protobuf实现框架,对.proto文件进行编译,生成对应的源代码文件
3) 在代码中调用生成的源代码文件,完成序列化和反序列化功能
具体请参考:快来看看Google出品的Protocol Buffer,别只会用Json和XML了
总结
在传输数据量较大的需求场景下,Protocol Buffer比XML、Json 更小、更快、使用 & 维护更简单。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」