关于文件次数被请求次数过多,如果减少请求次数,以保证其他用户访问的速度。

chinaworker 2002-11-23 08:26:31
我做了个文章管理,
是php+文本的
演示:http://www.chinaworker.com/index.php?cat_id=careermessage
下载:http://www.cnzzz.com/download/software.asp?SOFTWAREID=4774

其中一个文件是分类和栏目的索引文件,这个文件无论用户在访问什么页面都需要读取到,所以我现在在考虑,可否在用户访问到这个程序的时候,将整个索引文件读取到session中,以后用户在需要读取索引的时候,直接访问session,以保证系统的稳定,减少同一个文件被访问的次数,提高整个系统的访问速度。

想是这么想,但是我还没试过,由于需要修改多个地方,所以想看看大家的意见。

这样做,是否真能如我所愿,大概能提高多少,在在线用户多的时候是否确实能保证更加稳定,效率更高,不过这样以来,session的残留文件就变的很大了。
...全文
165 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xoyoren 2002-12-03
  • 打赏
  • 举报
回复
可以这样做
做n个索引,每次用户访问的时候随机选择一个
代价是更新的时候要把所有索引覆盖一遍
chinaworker 2002-12-03
  • 打赏
  • 举报
回复
谢谢了:)
babystudio 2002-11-24
  • 打赏
  • 举报
回复
我目前对这个问题的解决方法是,有两个索引文件a和b。
a用于用户浏览,b用于管理员操作。
一般管理员操作由于涉及到文本内容的解析,所以一次操作时间相对较长,更新完b的内容后用copy命令将b内容覆盖a文件。
babystudio 2002-11-23
  • 打赏
  • 举报
回复
出于这样的目的是值得推荐的
chinaworker 2002-11-23
  • 打赏
  • 举报
回复
是的,
我看中的就是
“只不过这时读取得文件不同而已。”
因为在操作索引文件的时候 ,特别是后台管理的时候,经常会锁定文件,这个时候如果用户多,很容易就出现所说的变慢了,因为是索引文件,就算用户浏览那个页面都需要读取到,被锁定了,就要等待一些时间。

我是这么想的。

还有之所以我想可以读取到session中。而不怕“而且有一个问题就是,一旦你的索引变化并不能及时反应到用户的session中。”
那是因为,索引文件是都是分类,栏目的索引数据,变更的可能性比较小,不象有些数据需要在几秒钟或者几小时变更。就算用户读取不到新的索引也没有什么问题呀。因为新开设的栏目也肯定没有内容,而下次登陆,session也就变了。完全能跟上更新速度。

如何呢?
babystudio 2002-11-23
  • 打赏
  • 举报
回复
一般情况下,php仍然以cgi的方式运行,而不是模块方式。所以他的session存在文件中,而不能存在一个内存空间中。所以,即使把索引存进session,用户读取索引时依然是读取文件系统,只不过这时读取得文件不同而已。从提供速度的角度来讲,恐怕作为不大。而且有一个问题就是,一旦你的索引变化并不能及时反应到用户的session中。
这样作会不会好一些,把索引存进一个php脚本,比如index.php,内部完全是可执行教本,他看上去可能是一个变量库。这样,在用户访问时通过include或者require进去直接编译,而不用再次手工解析文件,可能会快一点。

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧