任何知识点,思路和思考比结论更重要;
- rpc 序列化与反序列化
< 什么是序列化和反序列化?
1.1 其他数据格式和二进制的相互转化
< 为什么需要序列化? 在网络传输过程中都是以二进制传输的,所以需要把其他数据格式转化为二进制字节 例如把对象转化为字节数组; 因此涉及到系统网络传输必然绕,像db存储数据文件,数据结果上是b+或者hash,但存储的硬盘还是都需要转化成二进制字节的;
举例:
类似于 (分组转化类名成字节,各个字段的字节数组,拼接在一起成一个新的字节数)
index name byteLength key length value length
0 user 4
1 name 4 name 4 zjp 3
2 age 3 age 3 18 4
看下jdk的序列化结果:
可以看到思路都是结果是这样的
< 有哪些序列化工具
1.2 常见序列化工具
1.1 xml 和json 比较常用 例如redis-> client.set("key",JSON.toJsonString(user))
1.2 protoBuf google出品必属精品 :优点:跨平台与语言无关
1.3 java object serialnation
据统计参考:使用三种序列化工具 序列化100w对象存储到redis 耗时如下
任何知识点,思路和思考比结论更重要;