比如a.php这个文件,后面可带参数a.php?id=*
每个不同的参数都会调用不同的数据,
如果给a.php作缓存改怎么弄?

解决方案 »

  1.   

    smarty只给模板做缓存,PHP管不着。
    而且,缓存都是给数据缓存,不是给算法缓存的。
    对a.php做不了缓存。
      

  2.   

    请参考smarty 手册cache 那一节.
      

  3.   

    可以这样
    例如,a.php?id=3 对应到 a_3.html
    第一次访问这个地址时a_3.html不存在,生成 a_3.html并显示(可以有数据库等耗时操作)
    第二次访问a.php?id=3时,检测到a_3.html存在,读取a_3.html 并显示(不用操作数据库了)
    但这个跟smarty有什么关系
      

  4.   


    $smarty->is_cached('index.tpl',params); //根据参数判断 
    $smarty->display('index.tpl' ,params);//根据参数显示
      

  5.   

    有无参数缓存原理是一样的
    读 url+param到缓冲区, 存时用url+param得到一个字符串当模板存就是