如果有业务需要将一个数据塞进队列由另一端接收,我们就需要考虑到数据的大小,因为这跟队列的效率和稳定性正相关,如果你希望能对这部分数据进行一定的压缩,并且提高解压缩的效率时,希望你能想到 msgpack

正文

性能对比

效率

这里先放出测试的数据
我们将网页源代码与其他数据组成dict,使用JSON和msgpack进行转换,每次转换都为dict转换目标格式再转换回来
循环1000次打印耗费时间
代码如下
python使用msgpack(umsgpack)
结果如下
python使用msgpack(umsgpack)

大小

我们数据不变,修改测试代码为下图,意为打印转换后的长度和转换后的数据
python使用msgpack(umsgpack)
结果为
python使用msgpack(umsgpack)

使用

是不是对这种效果满意,那么我们开始使用

安装

pip install umsgpack

转换

import umsgpack
umsgpack可方便地将大部分数据格式转换,需要注意的是datetime类型等Python独有的无法正常转换(跟json限制差不多)
packd = umsgpack.packb(t)
umsgpack.packb可将数据转换为bytes类型的数据
res = umsgpack.unpackb(packd)
umsgpack.unpackb将转换后的bytes数据转换为Python使用的数据格式

相关文章:

  • 2021-10-11
  • 2022-12-23
  • 2021-07-27
  • 2022-12-23
  • 2021-06-09
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-09-15
  • 2022-02-06
  • 2022-12-23
  • 2022-12-23
  • 2021-07-05
相关资源
相似解决方案