免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1646 | 回复: 2
打印 上一主题 下一主题

请教大虾们关于php页面间变量访问的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-08 22:50 |只看该作者 |倒序浏览
比如在一个var.php页面内定义以下变量:
define('A','1');
$b = 2;

那如果我想在其它页面访问这两个变量,我想到5种方法获取这两个变量的值.:
1.  include('var.php')      
2.   通过session
3.  url传递来获取
4.  通过file_put_contents输出一定格式的数据到文件中,再file_get_content来读取
5  通过共享内存

如果变量是大数据变量,那前面4种方法在时间上开销不小.

问题:
1. 变量A和b在内存中的分配方式.
2. 怎么知道A,b的内存地址.
3. var.php只执行一次 和 var.php 一直活动(比如它执行死循环),A,b的生存时间.
4. 既然然变量都使用了内存(我不知道不清楚A,b的生存时间),如果我不使用共享内存,可否直接通过A,b的内存地址来读取A,b的值.

请各位大虾不吝赐教,祝大家天天开心.

论坛徽章:
0
2 [报告]
发表于 2009-04-08 23:31 |只看该作者
大数据变量是多大?几M还是几G?

1、可以安装APC这类的扩展解决内存共享
2、考虑数据库

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
3 [报告]
发表于 2009-04-09 21:19 |只看该作者
问题:
1. 变量A和b在内存中的分配方式.
php内,你不用关心,你关心了你也操作不了。
不过如果你愿意使用c/c++为php写扩展的话,看一看看Zend的相关知识。

2. 怎么知道A,b的内存地址.
同1

3. var.php只执行一次 和 var.php 一直活动(比如它执行死循环),A,b的生存时间.
同1

4. 既然然变量都使用了内存(我不知道不清楚A,b的生存时间),如果我不使用共享内存,可否直接通过A,b的内存地址来读取A,b的值.
同1



数据量大,建议使用文件来缓存。
使用apc一类,建议不要在其中放置较大的数据。

文件缓存,也并非一定就效率低。
可以的话,你完全可以使用基于内存的tmpfs,效率也很好,完全内存操作,但是在php里面仅仅是用普通的file操作即可。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP