跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • Python 快速进行大量序列化的最佳选择是什么? Pickle? json?
未分類
12 1 月 2021

Python 快速进行大量序列化的最佳选择是什么? Pickle? json?

Python 快速进行大量序列化的最佳选择是什么? Pickle? json?

資深大佬 : black11black 3

如题,现有一需求,需要夸空间、时间地共享内存状态,意思是多进程互相调用,且比如在今天有可能调用历史上某一次执行结果的状态。

想了想,似乎还是序列化以后存数据库里最好。

需要序列化的数据假定为长度十万的数组,内部只存字符串和浮点数两种数据,在这种情况下,Python 序列化最快的方案是什么呢?

除了使用 cpython 解释器,其他协议等等均不限,不与前端通信,仅在后端之间交换。除了量特别大(比如每天要进行一千万次序列化与反序列化)

大佬有話說 (18)

  • 資深大佬 : helloworld000

    apache arrow

    https://arrow.apache.org/

  • 資深大佬 : SD10

    100 多 QPS 很高了

  • 資深大佬 : sunhk25

    从数据库拿出来再到反序列化会花掉不少时间,直接存数据库呗

  • 主 資深大佬 : black11black

    @sunhk25 你有 py 对象要入库,无论如何还是得序列化和反序列化啊

  • 資深大佬 : Wincer

    pickle 在 3.8 版本比 json 快很多

  • 資深大佬 : sunhk25

    @black11black 不是简单的数据库查询和计算而是需要整个对象的话,那还是 pickle 。

  • 資深大佬 : php8

    读写量级: 10M * 100K * 100,100TB 每天
    IO 速率: 100TB / 86400,1.2GB 每秒

    10G 网卡带宽打满,不优化设计?

  • 資深大佬 : xchaoinfo

    我之前做过低频次百万级别数据的序列化,用的 pickle,是 pandas 处理后的数据。
    序列化直接存储文件,数据库记录文件位置和一些属性信息。

  • 主 資深大佬 : black11black

    @php8 不是很理解这个算式,10M*100k 以后为什么要乘 100 呢,10M*100k 才 1T,没感觉有什么问题

  • 資深大佬 : GoLand

    用 protobuf 的序列化,还能跨语言。pickle 不能跨语言吧?

  • 資深大佬 : seven123

    我用 msgpack

  • 資深大佬 : php8

    @black11black 浮点数 8 字节,字符串平均几十字节,按 100 字节做估算

  • 資深大佬 : tmackan

    @seven123 只支持 py

  • 資深大佬 : tmackan

    可以参考下 https://github.com/jvanasco/dogpile_backend_redis_advanced
    这里有有个测试数据

  • 資深大佬 : tmackan

    跨语言的话,还是用 json 吧一般,pickcle 不跨语言,之前研究过 dogpile 的缓存框架,默认是 pickle 。。。

  • 資深大佬 : ruanimal

    msgpack 试试看

  • 資深大佬 : tabris17

    encode 是 cPickle 快,decode 是 msgpack 快,看应用场景了

  • 資深大佬 : lizytalk

    pickle 快。json 可读性强,而且大部分语言都支持。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具