我有一個網站是相當數據庫密集型,所以我試圖在可能的情況下減少數據庫的使用。我想要做的一個地方是在我的論壇的每個線程上。從數據庫生成靜態HTML文件
每次查看時都不會動態生成每個線程,而是考慮生成每個線程的靜態版本,每次創建新帖子時都會覆蓋該靜態版本。每個線程將存儲在/ html/forum文件夾中,並且在3天或更多天內未被編輯的線程將被移動到/ html/forum/archive文件夾(因此file_exists不必搜索5000個html文件每次爲常見的線程)。
這裏是新線程頁會是什麼樣一個粗略的例子:
require_once('header.php');
if(file_exists('/html/forum/'.$thread_id.'.html'))
{
require_once('/html/forum/'.$thread_id.'.html');
}
elseif(file_exists('/html/forum/archive/'.$thread_id.'.html'))
{
require_once('/html/forum/archive/'.$thread_id.'.html');
}
else
{
//display something about how the thread doesn't exist
}
require_once('footer.php');
論壇只是一個例子,但我想與廣大的在我的網站的網頁這樣做。這種方法每次動態生成內容都有什麼主要缺點或優點?
謝謝!
唯一回答這個問題的方法是:做基準測試。找出哪種方法更有效率,並與之配合。 –