zoukankan      html  css  js  c++  java
  • php的各种序列化对比

    php的各个序列化反序列化对比如下

    function 10万条记录的序列化并写入(ms) 10万条记录文件读取并反序列化(ms) 100条记录序列化并写入(ms) 100条记录文件读取并反序列化(ms)
    serialize 106-200 85-95 0.18-0.34 0.15-0.22
    json_encode 73-128 179-189 0.12-0.25  0.20-0.32
    msgpack_pack 75-99 95-102 0.17-0.24 0.20-0.27
    igbinary_serialize 60-65 48-54 0.18-0.22 0.12-0.18
    swoole_serialize  33-36 74-76 0.13-0.20 0.15-0.19

    文件读取写入使用的是 file_get_contents 和 file_put_contents

    综合发现 

    igbinary_serialize 读取更快 适合读多写少(其实也兼容了写 但是比swoole_serialize稍微慢)
    swoole_serialize 写入更快 适合写多读少(其实也兼容了读 但是比igbinary稍微慢)

    如果以文件存储做数据来源 那么

    缓存系统更适合 igbinary serialize
    并发系统更适合 swoole serialize

    使用 igbinary 做了一个json存储 效率是这样的

    1000条数据
    按主键查找耗时 0.56 毫秒
    按条件查找 unlimit 耗时 1.29
    按条件查找 limit 耗时 0.85 与主键查找相差不大(没有遍历全表的情况下 如果给的limit还是要遍历全表 那和unlimit相差不大)

    如果文件以前用的不是igbinary序列化存储 则需要删除再创建一个文件,不然会反序列化失败,因为它是二进制的.

  • 相关阅读:
    CSS3box-shadow属性的使用
    IE7下z-index失效问题
    CSS3的writing-mode属性
    eclipse Java EE安装和web项目的创建
    用JS去掉前后空格或中间空格大全
    webstorm自带debugger服务器
    用meta标签让网页用360打开时默认为极速模式
    移动端可拖动导航菜单小demo
    DCL并非单例模式专用
    领域专用语言
  • 原文地址:https://www.cnblogs.com/lizhaoyao/p/14957411.html
Copyright © 2011-2022 走看看