各位前辈好,小弟我有点事情想不明白,实在不好意思 只能发帖求助
  做php也有2年了 从面向过程写代码  一直发展到用面向对象  MVC 框架  甚至自己写一个小型的框架  一般写网站  我前台生成文件 会用缓存的 然后加上伪静态 这样访问速度比较快。
  但是 后台我以前从来不用缓存的  但是看了 几个成熟的php项目之后 我对自己的做法产生了疑惑?   这几天看了 dedecms 和phpcms的源码 发现他们后台也是用缓存的  说实话 我一直在用thinkphp  缓存方面的确没怎么用过 都是用thinkphp的三大自动,我想问下 后台缓存有必要吗  
   比如说真要用缓存 我感觉 是不是 每次获取数据 都是直接获取缓存里面的 缓存函数判断 有没有缓存 如果缓存过期了 就去数据库里面查询  用户有个手动更新缓存的功能 看了phpcms的源码 发现他们做了个缓存工厂  可以定义文件缓存或者内存缓存  缓存这一块真的这么重要吗?  还有一个问题,最近在做一个门户网站  对于生成单页这一块 思路有点理不清  是不是单页和栏目是2个不同的概念  用2个模块来实现?

   

解决方案 »

  1.   

    是否需要缓存?这由访问频度和更新频度综合考虑
    一般的
    访问频度 >> 更新频度 缓存
    访问频度 << 更新频度 不缓存后台一般不做缓存
      

  2.   

    很多时候,我都觉得文件缓存是很2的行为,直接增加了磁盘的负担.
    TP那种缓存,主要用于核心文件的编译和数据表结构的缓存.
    PHPCMS我记得也是对一些固定结构做缓存的.所以说,看需求的嘛.
    比如说,一个分类目录,如果每次想列出树型结构,都要递归访问数据库,这是很不合算的,那就比如直接缓存成数组.
      

  3.   

    单页和栏目是有点区别,栏目要有列表,内容,单页用于实现公告之类的,dedecms的有显示方式(添加内容的时候有语句)
      

  4.   

    后台的功能与用户的群体决定了你是否使用缓存。你想想一个网站有多少管理员?还来个缓存...
    还有一个问题,最近在做一个门户网站  对于生成单页这一块 思路有点理不清  是不是单页和栏目是2个不同的概念  用2个模块来实现?不知道你这个单页是什么东西...栏目?栏目可以用smarty include
      

  5.   

    后台没必要做缓存门户站建议使用页面生成静态,不过这个很容易出现IO瓶颈,对硬盘伤害也大,对于门户页面一些局部需要更新的地方必须广告,排行,点击率之类的建议使用JS、拒不缓存、AJAX(还有一个问题,最近在做一个门户网站  对于生成单页这一块 思路有点理不清  是不是单页和栏目是2个不同的概念  用2个模块来实现?)
    其实是一个东西都是从缓存中写到页面里,使用两个不同模板就行了,只能说你太依赖框架或现成CMS对一些底层的东西了解不够