protobuf的优缺点

优点

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

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

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

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

缺点

  • 可读性差

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

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

相关推荐
先睡2 小时前
Redis的缓存击穿和缓存雪崩
redis·spring·缓存
CodeWithMe16 小时前
【Note】《深入理解Linux内核》 Chapter 15 :深入理解 Linux 页缓存
linux·spring·缓存
大春儿的试验田18 小时前
高并发收藏功能设计:Redis异步同步与定时补偿机制详解
java·数据库·redis·学习·缓存
likeGhee18 小时前
python缓存装饰器实现方案
开发语言·python·缓存
C1829818257518 小时前
OOM电商系统订单缓存泄漏,这是泄漏还是溢出
java·spring·缓存
西岭千秋雪_21 小时前
Redis性能优化
数据库·redis·笔记·学习·缓存·性能优化
en-route1 天前
HTTP 缓存
网络协议·http·缓存
苦夏木禾1 天前
js请求避免缓存的三种方式
开发语言·javascript·缓存
重庆小透明1 天前
力扣刷题记录【1】146.LRU缓存
java·后端·学习·算法·leetcode·缓存
Java初学者小白1 天前
秋招Day14 - Redis - 应用
java·数据库·redis·缓存