protobuf的优缺点

优点

  • 高效性:protobuf使用二进制进行数据编码,体积更小传输速度 更快,解析速度也更快

  • 跨平台:使用二进制编码进行传输,不同平台的编解码都可用 ,但如果是json这种直接以文本文件进行传输,跨平台之后就可能用不了,因此protibuf支持跨语言传输 ,如c++、java、python等,使得不同语言编写的程序之间可以方便的进行数据交换

  • 向后兼容性 :protobuf可以在不破坏旧数据结构的情况下更新数据结构,添加新的字段

  • 类型安全 :protobuf支持静态类型检查,可以在编译时捕获类型错误

缺点

  • 可读性差

  • 灵活性不足:相比于json的灵活格式,protobuf的消息类型需要在编译时静态定义,不支持动态添加和删除字段

  • 通用性差:json可以任何语言都支持,但是protobuf需要专门的解析库

相关推荐
Feng.Lee27 分钟前
聊聊缓存测试用例设计方案
缓存·测试用例
R.lin1 小时前
memcached 的核心工作机制、优缺点、适用场景以及常见问题的处理方式
数据库·缓存·memcached
bug总结2 小时前
更新原生小程序封装(新增缓存订阅)完美解决
前端·缓存·小程序
笃行客从不躺平3 小时前
CPU 缓存 高并发探索
缓存
freedom_1024_7 小时前
LRU缓存淘汰算法详解与C++实现
c++·算法·缓存
wddblog8 小时前
多级缓存体系与热点对抗术--速度是用户体验的王道,而缓存是提升速度的银弹
缓存·ux
艾斯比的日常9 小时前
Redis 大 Key 深度解析:危害、检测与治理实践
数据库·redis·缓存
q***188411 小时前
redis的下载和安装详解
数据库·redis·缓存
多多*11 小时前
一个有 IP 的服务端监听了某个端口,那么他的 TCP 最大链接数是多少
java·开发语言·网络·网络协议·tcp/ip·缓存·mybatis
青春:一叶知秋12 小时前
【Redis存储】Redis介绍
数据库·redis·缓存