[需求]:在我们的商品详情页中使用缓存
在goodsController中编写代码如下:
原因:所有的商品都共享一个模板页面,所以就都使用了同一个缓存文件。
需要将每个商品单独的生成一个缓存文件,这个就是单模板多缓存。
实现很简单,只需要在display的时候,传递第二个参数,用来标识当前的内容。
编写代码如下:
查看生成的缓存文件如下:
缓存组
[需求]:对我们的列表页实现缓存
载入我们的列表页
有一个商品筛选功能
总共有 10 * 10 * 5 *7 = 3500种 (还不包括分页)
请问:这样的页面是否值得缓存
时间/空间,权衡利弊。
时间换取空间
空间换取时间
还是可以使用缓存的。
该怎么缓存呢?—smarty提供了缓存组的用法,实际上它是单模板多缓存的一种更为精细的用法。
然后访问,查看缓存文件如下:
5.删除缓存
缓存失效的情况:
有效期到了
删除了缓存文件
模板文件被修改
那如何来删除缓存文件呢?
通常我们会在后台提供一个操作,用于清除缓存
Smarty提供了删除的一些方法:
clearCache:删除指定模板的缓存
clearAllCache:删除所有的缓存
编写代码如下: