使用nosql實現頁面靜態化的乙個小案列

2022-08-11 20:24:10 字數 1151 閱讀 7336

頁面靜態化,其實就是將動態生成的php頁面,變成靜態的html頁面,讓使用者直接訪問。有一下幾方面好處:

1,首先就是訪問速度,不需要去訪問資料庫,或者快取來獲取哪些資料,瀏覽器直接載入渲染html頁即可。所以可以大大的提高訪問效率;   

2,從**優化來分析,搜尋引擎更喜歡靜態的網頁,靜態網頁與動態網頁相比,搜尋引擎更喜歡靜的,更便於抓取,搜尋引擎seo排名更容易提高。    

3,從安全角度講,靜態網頁不宜遭到黑客攻擊,如果黑客不知道你**的後台、**採用程式、資料庫的位址,靜態網頁, 更不容易受到黑客的攻擊。      

4,從**穩定性來講,如果程式、資料庫出了問題,會直接影響**的訪問,而靜態網頁就避免了如此情況,不會因為程式等,而損失**資料,影響正常開啟,損失使用者體驗,影響**信任度。(這一天是我最喜歡的,它提高了**的可用性)。

幾種頁面靜態化方法:

1、真靜態。(實實在在的生成.html檔案,使用者直接訪問靜態化檔案,而不是動態的讀取資料庫然後生成頁面。)

2、偽靜態。(對於實時性要求較高的**,我們可以使用偽靜態技術,其提高了seo質量的同時,又保證了資料的實時性)

下面我們來說一下,另一種比較特殊的靜態化技術,利用nosql資料庫實現頁面靜態化。(其實這個應該稱作快取技術了,但是原理和頁面靜態化相似,所以我覺得也可以稱為一種頁面靜態化的技術)

因為頁面是從記憶體中讀取的,所以速度會很快。下面是利用memcache(也可以用其它nosql資料庫,如redis... ...)實現該想法的乙個小例子。

<?php

$news_id = $_get['news_id']+0;//新聞id

$news_statis_content = "news_content_".$news_id;//對應鍵

$expr = 3600*24*10;//有效期,十天

$mem = new memcache;

$mem--->connect('memcache_host', 11211);

$mem_news_content = $mem->get($news_statis_content);

if($mem_news_content)else

?>

tips:一般呢,我們不會用nosql這樣做,因為對記憶體的消耗比較大,我們一般用nosql資料庫做資料快取。這裡只是乙個小思路,活躍一下大腦。

使用Freemarker實現頁面靜態化

在訪問新聞 活動 商品 詳情頁面的時候,路徑可以是xx id html,伺服器端根據請求id,動態生成html網頁,下次訪問資料時,無需再查下資料,直接將html靜態頁面返回。可以減少對資料庫的互動,提高訪問的效能。具體操作步驟 1.首先我們要有乙個freemarker模板物件 通常模板檔案放在we...

動態頁面靜態化的實現

首先,應該明確動態頁面與靜態頁面之間的區別,為什麼靜態頁面的載入要比動態的快。php檔案的執行階段是 語法分析 編譯 執行。動態是執行這整個過程。靜態 只是乙個純靜態的 html 檔案 跳過了分析和編譯的步驟,直接執行。優化頁面響應時間的常見四種方法 動態頁面靜態化,優化資料庫,使用負載均衡,使用快...

php實現頁面靜態化

php生成靜態html頁面的方法 1.gid get gid 0 商品id goods statis file goods file gid.html 對應靜態頁檔案 expr 3600 24 10 靜態檔案有效期,十天 if file exists goods statis file else e...