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

解决方案 »

  1.   

    是的,
    我看中的就是
    “只不过这时读取得文件不同而已。”
    因为在操作索引文件的时候 ,特别是后台管理的时候,经常会锁定文件,这个时候如果用户多,很容易就出现所说的变慢了,因为是索引文件,就算用户浏览那个页面都需要读取到,被锁定了,就要等待一些时间。我是这么想的。还有之所以我想可以读取到session中。而不怕“而且有一个问题就是,一旦你的索引变化并不能及时反应到用户的session中。”
    那是因为,索引文件是都是分类,栏目的索引数据,变更的可能性比较小,不象有些数据需要在几秒钟或者几小时变更。就算用户读取不到新的索引也没有什么问题呀。因为新开设的栏目也肯定没有内容,而下次登陆,session也就变了。完全能跟上更新速度。如何呢?
      

  2.   

    我目前对这个问题的解决方法是,有两个索引文件a和b。
    a用于用户浏览,b用于管理员操作。
    一般管理员操作由于涉及到文本内容的解析,所以一次操作时间相对较长,更新完b的内容后用copy命令将b内容覆盖a文件。