看DZ的代码有感。DZ太不相信数据库了,太相信COOKIES,写数组文件等缓存方式了
如果一个数据写一次缓存还读不了100次又要查询数据库重新更新的话,还不如读数据库了
培训新闻
- 唐山培训中心“首期实战班”赠送联想双核笔记...
- 绝对高端,开沅教育(大连)中心2009年首期P...
- 开沅教育(大连)中心--09年3月北京交通大学...
- .广州多迪php培训,年前最后一期优惠,大家快...
- 上海实战精英班二期开始报名了~~~~~
- 大连开沅教育09年LAMP首期“就业班”开始报名...
- 北京十一期实战精英班,正在热招中,速速报名...
- 大连开沅教育08年寒假lamp精品培训招生开始,...
热点专题
网站特别推荐
- 唐山培训中心“首期实战班”赠送联想双核笔记...
- LAMP兄弟连09年课程表
- 绝对高端,开沅教育(大连)中心2009年首期P...
- 2008.12.24李明老师"互联网时代的就业与...
- 上海实战精英班二期开始报名了~~~~~
- 开沅教育(大连)中心--09年3月北京交通大学...
- 北京十一期实战精英班,正在热招中,速速报名...
- 大连开沅教育09年LAMP首期“就业直通车”开始...
- 北京PCTI-19期,正在热招中,年前报名有优惠...
- 12月24日唐山培训中心特邀PHPChina技术总监 ...
社区精华
- linuxroot吐血推荐花了一天时间写的强壮捕获各...
- PHPChina伯乐PHP程序员(1年)
- PHPChina伯乐北京高级的PHP程序员
- PHPChina伯乐浙江 高薪职位!
- PHPChina伯乐网站技术






最新回复
$fname = $db->result_first("select cdb_forum where fid='$fid'")
查询一下就能获得版面的名称,DZ是把所有的版面名称和ID写进一个数组,然后用数组取得版面名称
查询一次数据库的代价是很大的
一个做得好的DZ论坛有多少人访问论坛?
1000人?10000人?差不多吧?
是同步的哦~我按照一个人访问论坛查询数据库10此。多少次?
光同时在线就得访问数据库10000次以上!不是数据多少的问题。我不说服务器吧。光说你自己的电脑。你执行个循环到10000次,然后一天每时每刻都执行这个命令。会是什么后果?
现在大多搭建DZ论坛的不是独立服务器,而是虚拟机。一台电脑我按10个论坛算(这已经是非常小了。。有些100个都是少的)。每个论坛都做得不错。在同一秒情况下会对数据库执行多少次操作?
如果你的应用程序是个多人访问的。减少数据库查询是非常必要的。当然。。你做个OA。就公司里几百人访问。减少数据库查询是次要,对数据库优化成了最重要的了。因为都是百万级的数据库。。。
取读数组比取读数据库要好很多吗
文件读写是很快的
mysql在数据库上的运行本身就要消耗服务器的内存等资源。
我建议你看看数组是如何存储的。
不太记得了。。当时看think in java 的时候讲解过。。数组等变量是直接存储在内存里面的。内存在任何系统都是数据交换最快的!并且访问一个数组是只访问他的内存引用。而不是数组本身。访问结束后马上释放系统资源。
所以访问数组肯定比访问数据库要快。
以现有的硬件来讲。在我眼里,数据库单纯只是用来纯粹元数据和数据之间的关系的。查询能少则少。效率才会高
我看DZ都是用的fwrite,但是用file_put_contents更方便啊,一行就搞定了。用fwrite还得先打开文件,然后获得文件首,然后写文件,然后再关闭文件
以前的cgi不就是文件型存储数据的吗?雷傲还是用cgi写的,后来被数据库型论坛给淘汰了
数据库相比读文件是很慢的。。。
说白了
数据库要访问硬盘然后处理,还有mysql和php之间还要沟通,php还要处理
而文本是php直接访问硬盘
QUOTE:
file_put_contents是PHP5函数,DZ要兼容PHP4还有fwrite要快5%左右
QUOTE:
安全性呢?易用性呢?你还要让所有使用这个程序的人都知道你的文件与文件之间的关联?数据库型全程是关系型数据库。亮点在关系型!很轻便的就能够描述两个表之间的作用。你觉得看资料是看表容易明白一点还是看一堆只有电脑才认识的代码强点?QUOTE:
感谢你的提示。呵呵~~还真不知道!确实。你既然是看DZ代码。DZ的几乎每个功能都兼容php4的函数。在进行操作之前都判断是否存在php5的函数。如果不存在,调用php4的函数。在数据库链接类链接上就看得到。直接判断php版本来决定是否对数据进行强制编码等操作。
QUOTE:
才5%的差距以后一般就用file_put_contents了,当然如果只改一部分内容还是fwrite
QUOTE:
文本的淘汰不是因为这个原因文本在并发读写情况下容易造成文件损坏和丢失
例如同时2个人发帖,但是需要存到同一个文件上,A存数据时会锁文件,B的数据就会丢失
还有文本的搜索效率很低(需要递归)
QUOTE:
你就不会封装下= =bbbfunction writeto($filePath, $content){
$handle = fopen($filePath, 'w');
flock($handle, LOCK_EX);
$result = fwrite($handle, $content);
fclose($handle);
return $result;
}