1:关于SMARTY的缓存不明白,它到底缓存的是什么内容?
例如:handler?id=1,那么,它能将handler?id=1整个(包括数据)一起缓存吗?
是不是缓存后就不用再查询数据库了(相当于一个静态页)?2:网上介绍SMARTY时说到“对于要不停更新的内容不要使用SMARTY如股票显示”,这个更加不明白了,SMARTY运行编译后的程序和一个普通的PHP文件有什么区别,为什么就不适合要不停更新的内容了?

解决方案 »

  1.   

    我也纳闷中,我虽然一直用SMARTY,但是对于有些网上的文章还有些不解,迷糊中。
      

  2.   

    1:关于SMARTY的缓存不明白,它到底缓存的是什么内容?
    例如:handler?id=1,那么,它能将handler?id=1整个(包括数据)一起缓存吗?
    是不是缓存后就不用再查询数据库了(相当于一个静态页)?
    这个,你把缓存目录里的缓存文件打开看看就明白了^_*,基本上,你的理解没错**********************2:网上介绍SMARTY时说到“对于要不停更新的内容不要使用SMARTY如股票显示”,这个更加不明白了,SMARTY运行编译后的程序和一个普通的PHP文件有什么区别,为什么就不适合要不停更新的内容了?smarty的特点在于,对于新内容.第一次访问的时候,相对比较慢.因为在载入许多东西,生成一些东西.第二次访问的时候,就比较快了.
    这个特点对于象股票这样的一直不停要更换新内容的东西来讲,是不合适的.
      

  3.   

    - -
    我给news.php设置了缓存。结果,访问了news.php?id=1之后,再打开news.php?id=2的,也是id=1的内容。哎
      

  4.   

    - -
    我给news.php设置了缓存。结果,访问了news.php?id=1之后,再打开news.php?id=2的,也是id=1的内容。哎
    ==========================================
    可以用register_block控制非缓存区.
      

  5.   

    1:关于SMARTY的缓存不明白,它到底缓存的是什么内容?
    例如:handler?id=1,那么,它能将handler?id=1整个(包括数据)一起缓存吗?
    是不是缓存后就不用再查询数据库了(相当于一个静态页)?id=1是传递给php文件 php文件获取id 进行处理 然后把一些参数传递给smarty模板你打开smarty生成的缓存看看就知道了 其实最后这个缓存还是个php文件 并不是静态html
      

  6.   

    我给news.php设置了缓存。结果,访问了news.php?id=1之后,再打开news.php?id=2的,也是id=1的内容。哎
    ==========================================
    这样子的缓存太恐怖了吧,哪位能根据这种现象谈谈缓存详细?
      

  7.   

    所以smarty有了缓存区域块控制这一设计。
    你可以将页面特定的地方设为动态区,意即非缓存区,可以实时输出。
    而页面其他地方还是会给缓存起来。
      

  8.   

    比如显示从数据库查询的结果:字段contents,那么,是将显示contents的这块设置为非缓存区吗?那我要缓存有何用?