以文章缓存为例子进行说明:
现有的缓存方式:当修改、或者删除的时候都会把所有的缓存都清除!(主要针对这个问题进行优化)
本人观点:我认为在修改、或者删除的时候缓存影响的地方主要是该文章页面以及文章分类页面,只要是有以上操作的时候只把这两部分缓存清除即可。
具体实现:现在的缓存名称是 $cachename='article'. '_' . $cache_id;更改后的名称是 $cachename='article_'.$id. '_' . $cache_id;($id是文章的id或者是文章分类的cat_id)
这样更改的好处是在修改或者删除的时候对缓存进行按照文件前缀清除。这样问题就解决了!(中间还有部分操作主要是写缓存的时候从display()传入缓存名字的前缀,在判读是否有缓存的地方改成if (!$smarty->is_cached('article_'.$article_id.'.dwt', $cache_id)),在清除缓存的地方改成$ext = array('article_'.$_POST['id'], 'article_cat_'.$cat_id);
clear_cache_files($ext); 这些只是主要的操作)
大家看到这对我描述的观点应该很清楚了吧!
新闻热点
疑难解答