求教smarty清空缓存判断的设计技巧
今天才开始学习smarty……
有个清空缓存的判断没有搞清楚,请指点一下:
首页或者目录的缓存很好理解,查询的数据又多,没有缓存的话每次都要查数据库
但是到具体的文章内容的话,不是就没有那个必要了吗?
情况1:如果文章被修改了,那么肯定要清空缓存,如何知道文章被修改了呢?查数据库修改的时间……修改时间和文章内容是绑定在一起放在一个表的啊……这和直接查询有啥区别?
情况2:文章被点击后有一个点击数的记录,这个点击数是放置在文章的数据表中的……为了获取点击数,还是要查询这个文章的数据表(点击数和正文也是放在一个表的啊)……这有啥区别?另外将点击数做一个表连接到文章表……这数据库也设计得太扯了吧?
[解决办法]
情况1:可以用is_cached()方法判断
情况2:获取点击数查文章表这不奇怪啊。。。
[解决办法]
对于 情况1 :
这是你臆造的需求,如果你缓存文章,那么就相当于自己再维护一个文件型数据库
如果确有需求,那也是生成静态页面,而不是缓存数据
当发生文章修改时,重新生成静态页就可以了