求教个问题,我正要做系统的缓存模块,可是有些地方不太明白
我认为,缓存就是将系统的一些配置性设置放到文件里,在用的时候方便读取
可是我看discuzx里面,新闻和帖子都有自己的缓存时间,难道它是将新闻和帖子的内容都放到缓存文件里了吗?可能是我对缓存认识的太菜了,希望有高手指点下迷津

解决方案 »

  1.   

    http://www.php100.com/html/shipinjiaocheng/PHP100shipinjiaocheng/2009/0416/825.html
    这有个视频你可以看一下,希望对你有帮助。
      

  2.   

    缓存是指将一些数据存放在固定的载体(如Session、Cookie、文件或者数据库)中,在需要时再读出的这样一个过程。
      

  3.   

    我还是不太明白这个过程的实现。比如我将某一部分做缓存,我是将它放在文件(如data中),还是放在内存中?
      

  4.   

    Session、Cookie 一般不会用这两个作为缓存的载体,因为使用这两个的话~每一个客户端都要进行缓存..那岂不是累死~文件的话~那就是静态生成了~当然可能不是把整个页面都进行静态生成~数据库的话~很少见到过用这个方法的还有内存,一般情况下都不会用内存作为缓存载体,因为,内存虽然速度快,但是默认情况下,PHP不支持内存操作,必须要SHMOP的支持~
      

  5.   

    请问楼上的朋友,我这样理解对吗?
    如果做整页缓存的话,那我就把页面生成一个template文件,放到缓存区(比如:data/template)中,如果时间没有到,就去读那个模板文件。如果到了,就去读数据库。
      

  6.   


    建议去研究一些开源的框架或者产品,了解他们是如何处理cache的?还要针对自己的业务需要来选择cache的方法和手段
      

  7.   

    应该就是LZ说的意思,用户没有更新的话,访问就访问缓存信息,如果更新了就生成缓存信息。
    memcached 缓存应用
      

  8.   

    缓存的方法有好多种,比如文件和memcache,要做模块应该可以自由更换缓存方法,所以应该做成接口。做一个工厂生成缓存实例,用于内容缓存。