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序列化存储 则需要删除再创建一个文件,不然会反序列化失败,因为它是二进制的.

php的各种序列化对比的更多相关文章

  1. Xml,Json,Hessian,Protocol Buffers序列化对比

    简介 这篇博客主要对Xml,Json,Hessian,Protocol Buffers的序列化和反序列化性能进行对比,Xml和Json的基本概念就不说了. Hessian:Hessian是一个轻量级的 ...

  2. Protocol Buffer序列化对比Java序列化.

    初识 Protocol Buff是谷歌推出的一种序列化协议. 而Java序列化协议也是一种协议. 两者的目的是, 将对象序列化成字节数组, 或者说是二进制数据, 那么他们之间有什么差异呢. proto ...

  3. C# 序列化详解,xml序列化,json序列化对比

    本文讲讲一些纯技术的东西.并且讲讲一些原理性的东西,和一般的百度的文章不一致,如果你对序列化不清楚,绝对可以很有收获. 技术支持QQ群(主要面向工业软件及HSL组件的):592132877  (组件的 ...

  4. redis使用Jackson2JsonRedisSerializer序列化问题

    一.spring boot 集成Redis方法 依赖 <!--redis--> <dependency> <groupId>org.springframework. ...

  5. [转]自定义ASP.NET MVC JsonResult序列化结果

    本文转自:http://blog.163.com/luckcq@yeah/blog/static/17174770720121293437119/ 最近项目中前台页面使用EasyUI的jQuery插件 ...

  6. java序列化,看这篇就够了

    一.序列化的含义.意义及使用场景二.序列化实现的方式1.Serializable1.1 普通序列化1.2 成员是引用的序列化1.3 同一对象序列化多次的机制1.4 java序列化算法潜在的问题1.5 ...

  7. 19、Java 序列化

    1.序列化的概念,意义以及使用场景 序列化: 将对象写入到IO流中,也就是把Java对象转换为字节序列的过程 反序列化: 从IO流中恢复对象*,也就是把字节序列恢复为Java对象的过程 意义: 序列化 ...

  8. 性能超四倍的高性能.NET二进制序列化库

    二进制序列化在.NET中有很多使用场景,如我们使用分布式缓存时,通常将缓存对象序列化为二进制数据进行缓存,在ASP.NET中,很多中间件(如认证等)也都是用了二进制序列化. 在.NET中我们通常使用S ...

  9. 说说面向服务的体系架构SOA

    序言 在.Net的世界中,一提及SOA,大家想到的应该是Web Service,WCF,还有人或许也会在.NET MVC中的Web API上做上标记,然后泛泛其谈! 的确,微软的这些技术也确实推动着面 ...

  10. 关于大小型项目如何最大限度提高WebAPi性能

    前言 WebAPi作为接口请求的一种服务,当我们请求该服务时我们目标是需要快速获取该服务的数据响应,这种情况在大型项目中尤为常见,此时迫切需要提高WebAPi的响应机制,当然也少不了前端需要作出的努力 ...

随机推荐

  1. FFmpeg开发笔记(四十九)助您在毕业设计中脱颖而出的几个流行APP

    ​对各高校即将毕业的学子来说,毕业设计算是在大学里的最后一个大作业.特别是软件.计算机.电子等相关专业,毕业设计非常讲究实操,往往要求实现一个实用的.可用的.易用的软件系统或手机APP. 不管是软件还 ...

  2. 开源问卷调查和考试系统 SurveyKing 安装和使用教程

    最近公司又要搞什么满意度调查了,我这个小菜鸟又要头疼了.上次用那个破系统,界面丑不说,功能还少得可怜,搞得我加班到半夜.这回非得找个好用的不可. 正发愁呢,突然想起来前两天同事小王推荐了一个叫 &qu ...

  3. 【YashanDB数据库】PHP无法通过ODBC连接到数据库

    [问题分类]驱动使用 [关键字]ODBC.驱动使用.PHP [问题描述]应用使用php-fpm+nginx架构,通过php的ODBC拓展连接YashanDB时出现报错: [unixODBC][Driv ...

  4. 把dataframe 一列转成 array

    把dataframe 一列转成 array

  5. 2023.7.2-3-4Mssql xp_cmdshell提权

    1.概念 Mssql和SQL sever的一个产品的不同名称.都属于微软公司旗下.而上述Mssql xp_cmdshell提权也属于数据库提权的一种. 主要依赖于sql server自带的存储过程. ...

  6. AI构建新质生产力,合合信息Embedding模型助力专业知识应用

    一.合合信息acge模型获MTEB中文榜单第一   现阶段,大语言模型的飞速发展吸引着社会各界的目光,背后支撑大型语言模型应用落地的Embedding模型也成为业内关注的焦点.近期,合合信息发布了文本 ...

  7. Angular Material 18+ 高级教程 – CDK Overlay

    Overlay, Dialog, Modal, Popover 傻傻分不清楚 参考: Medium – Modal?Dialog?你真的知道他們是什麼嗎? Popups, dialogs, toolt ...

  8. JavaScript Library – YouTube Embedded、YouTube Player API、YouTube Data API

    YouTube Embed Video 参考: Embed videos & playlists 它和 Google Maps Embed 类似,是通过 iframe 完成的. <ifr ...

  9. Angular 18+ 高级教程 – Component 组件 の Angular Component vs Shadow DOM (CSS Isolation & slot)

    前言 要掌握 Angular,最好先掌握原生. 全局 CSS 的问题,还有如何用原生 CSS 来管理全局 CSS,看这篇. 利用 Shadow Dom 来隔离 CSS 看这篇. CSS Global ...

  10. CSS – Sass & SCSS

    前言 CSS 代码多了就不好管理了, 这是它语法先天的不足. Sass 就是加强它语法的, Sass 为 CSS 引入了一些 JS 语言的特性, 比如 variable, function, para ...