PHP数组内存耗用太多问题的解决方法


Posted in PHP onApril 05, 2010

因为这个是语言的问题,常规方案比较难以解决。下面是一种通过string 解决的方案。

$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 相关文章推荐
用libTemplate实现静态网页的生成
Oct 09 PHP
一个php作的文本留言本的例子(五)
Oct 09 PHP
PHP 编程的 5个良好习惯
Feb 20 PHP
PHP通过header实现文本文件下载的代码
Aug 08 PHP
PHP英文字母大小写转换函数小结
May 03 PHP
用PHP生成excel文件到指定目录
Jun 22 PHP
谈谈PHP中substr和substring的正确用法及相关参数的介绍
Dec 16 PHP
thinkPHP商城公告功能开发问题分析
Dec 01 PHP
PHP下 Mongodb 连接远程数据库的实例代码
Aug 30 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
Jun 16 PHP
PHP 数组操作详解【遍历、指针、函数等】
May 13 PHP
PHP大文件分割分片上传实现代码
Dec 09 PHP
phpMyadmin 用户权限中英对照
Apr 02 #PHP
使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法
Apr 02 #PHP
ExtJS与PHP、MySQL实现存储的方法
Apr 02 #PHP
php截取utf-8中文字符串乱码的解决方法
Mar 29 #PHP
php上的memcache和memcached两个pecl库
Mar 29 #PHP
php 字符串函数收集
Mar 29 #PHP
DW中链接mysql数据库时,建立字符集中文出现乱码的解决方法
Mar 27 #PHP
You might like
PHP 金额数字转换成英文
2010/05/06 PHP
ThinkPHP写第一个模块应用
2012/02/20 PHP
php中in_array函数用法探究
2014/11/25 PHP
PHP 下载文件时如何自动添加bom头及解释BOM头和去掉bom头的方法
2016/01/04 PHP
PHP简单获取随机数的常用方法小结
2017/06/07 PHP
网站上面有这种切换效果
2006/06/26 Javascript
兼容ie和firefox js关闭代码
2008/12/11 Javascript
javascript 常用代码技巧大收集
2009/02/25 Javascript
动态样式类封装JS代码
2009/09/02 Javascript
菜鸟javascript基础资料整理2
2010/12/06 Javascript
Jquery图形报表插件 jqplot简介及参数详解
2012/10/10 Javascript
微信WeixinJSBridge API使用实例
2015/05/25 Javascript
jquery实现全屏滚动
2015/12/28 Javascript
关于Jquery中的事件绑定总结
2016/10/26 Javascript
详解JavaScript跨域总结与解决办法
2016/10/31 Javascript
Node.js的Mongodb使用实例
2016/12/30 Javascript
thinkphp标签实现bootsrtap轮播carousel实例代码
2017/02/19 Javascript
Vue.js实现实例搜索应用功能详细代码
2017/08/24 Javascript
微信小程序中button组件的边框设置的实例详解
2017/09/27 Javascript
基于vue2实现上拉加载功能
2017/11/28 Javascript
深入理解node.js http模块
2018/01/24 Javascript
深入理解JS的事件绑定、事件流模型
2018/05/13 Javascript
vue路由切换之淡入淡出的简单实现
2019/10/31 Javascript
vue-dplayer 视频播放器实例代码
2019/11/08 Javascript
[03:23:49]2016.12.17日完美“圣”典全回顾
2016/12/19 DOTA
[49:29]LGD vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python实现的数据结构与算法之双端队列详解
2015/04/22 Python
Python logging管理不同级别log打印和存储实例
2018/01/19 Python
用python 批量更改图像尺寸到统一大小的方法
2018/03/31 Python
Python configparser模块配置文件过程解析
2020/03/03 Python
一款利用纯css3实现的360度翻转按钮的实例教程
2014/11/05 HTML / CSS
介绍一下OSI七层模型
2012/07/03 面试题
2014年高中教师工作总结
2014/12/19 职场文书
掌握这项技巧,一年阅读300本书不是梦
2019/09/12 职场文书
如何使用flask将模型部署为服务
2021/05/13 Python
SpringBoot整合Redis入门之缓存数据的方法
2021/11/17 Redis