你介绍的实现也可以   介绍这边的一个实现方式:页面地址的url的md5值作为文件名字   前2位字符为文件名字  然后用file_exists判断

解决方案 »

  1.   


    就是我在写完本文的时间,我就有这么一种想法,直接用URL做文件名,但实在不明白为什么要用MD5呢?不明觉历。。是为了防止重复吗?每个URL都不一样,我觉得不可能重复啊。。
      

  2.   

    非常可惜,你的思路正是那感觉有点臃肿的缓存机制所使用的
    只不过人家在实现时并不需要:
    获取URL到数据库中判断,如果不存在,则把 页面及传递参数,生成一个KEY及时间写入数据库而是从 url 中替换掉不能出现在文件名中的字符,得到缓存文件名
    检查该文件是否存在,如果不存在或文件修改时间早于约定的时间,才重新产生缓存文件
      

  3.   

    下次如果再访问该页面,判断时间是否大于设定的 30分钟
    这样的话,每个页面都需要经过ajax再次请求走php程序,这样失去了缓存的意义一般网站的页面无非2种:列表页,内容页
    列表页更新频率高,读取量并不大,可以不缓存,但向数据库查询的参数必须加好索引提速
    内容页更新频率低,读取量大,可以考虑生成静态HTML页面
    缓存的目的我个人认为有2个:缓存复杂计算结果,或是绕过php脚本直接读取静态文件
      

  4.   

    为何还要 ajax,3楼已经有答案了。。不需要ajax的。
      

  5.   


    ajax只是一种实现方式,在当前请求判断文件也是一样,终归是要走一遍php脚本
    这样的缓存没有意义,复杂缓存机制代替了原本的数据查询和模板渲染,没有节省太多时间,除非你直接跳过PHP