php数组不通过内存吗?
内容导读
收集整理的这篇技术教程文章主要介绍了php数组不通过内存吗?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含861字,纯文字阅读大概需要2分钟。
内容图文
一般来说,PHP数组的内存利用率只有 1/10, 也就是说,一个在C语言里面100M 内存的数组,在PHP里面就要1G。特别是在PHP作为后台服务器的系统中,经常会出现内存耗费太大的问题。
因为这个是语言的问题,常规方案比较难以解决。下面是一种通过string 解决的方案。(推荐学习:PHP视频教程)
$total = 100000;$double = "";for ($i = 0; $i < $total; $i++){ $double .= pack("d", $i + 0.1);}for ($i = 0; $i < $total; $i++){ unpack("@" . ($i * 8) . "/d", $double);}
这个例子用一个string 保存一个double 的数组。然后在使用的时候unpack出来。
当然,这会影响性能。要看具体的需求。
比如这样的情况下:
你有10个数组,每个数组10M (1百万数据左右),那么十个要花费 100M内存。
再加上10个人并发的话,内存就会严重不够了。
然后,在10个数组,不是每次都同时使用的。你可以,把他们保存成string
然后,在使用的时候,unpack某一个string变成一个数组。
以上就是php数组不通过内存吗?的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是为您收集整理的php数组不通过内存吗?全部内容,希望文章能够帮你解决php数组不通过内存吗?所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。