以文章緩存為例子進行說明:
現有的緩存方式:當修改、或者刪除的時候都會把所有的緩存都清除!(主要針對這個問題進行優化)
本人觀點:我認為在修改、或者刪除的時候緩存影響的地方主要是該文章頁面以及文章分類頁面,只要是有以上操作的時候只把這兩部分緩存清除即可。
具體實現:現在的緩存名稱是 $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); 這些只是主要的操作)
大家看到這對我描述的觀點應該很清楚了吧!
|
新聞熱點
疑難解答