第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

網(wǎng)站靜態(tài)化問題

網(wǎng)站靜態(tài)化問題

三國紛爭 2019-04-08 11:17:22
為了達(dá)到高性能web的訪問的效果,最有效的方法就是網(wǎng)站的靜態(tài)化了,生成html訪問。比如,做一個cms,有一些地方大家是怎么解決的呀?+分類列表頁生成機(jī)制?是后臺定成生成,還是有新文章的時候,就生成分類列表頁?還是不生成?+文章頁面文章頁面,有幾個動態(tài)的問題,比如,閱讀次數(shù),評論,對于這些靜態(tài)中常變的部分,采用什么機(jī)制呢?
查看完整描述

2 回答

?
慕尼黑8549860

TA貢獻(xiàn)1818條經(jīng)驗 獲得超11個贊

我個人認(rèn)為,網(wǎng)站靜態(tài)化,并不一定非要靠寫代碼實現(xiàn)整站HTML的生成,有些工具能提供非常好的緩存機(jī)制。在Web開發(fā)中,最關(guān)鍵的瓶頸往往在于數(shù)據(jù)庫,減少數(shù)據(jù)庫的讀寫壓力,就是緩存的主要作用。
在可以提供緩存功能的工具中,應(yīng)用層的可以用Memcache和Redis,前端緩存可以用Varnish和Nginx的提供的緩存功能,當(dāng)然還要合理利用304狀態(tài)碼。
以Memcache和Redis為例,它們的作用是讓你能夠把數(shù)據(jù)庫的數(shù)據(jù)保存在內(nèi)存或者是磁盤文件上,這樣每次請求過來你仍然可以通過程序來控制業(yè)務(wù)邏輯,但是極大地減少了數(shù)據(jù)庫的訪問,性能自然提升。
而對于Varnish和Nginx這樣具有反向代理功能的工具來說,它們的作用就是將第一次動態(tài)請求的頁面緩存起來,在過期時間內(nèi),接下來的請求返回的都是緩存里的數(shù)據(jù),不再向后端服務(wù)器發(fā)起請求。
而對于你后面的問題,閱讀次數(shù),評論這些靜態(tài)中常變的部分,使用不同工具的情況下也有不同的解決方法。
文章的閱讀次數(shù)——使用應(yīng)用層緩存的情況下,可以先把閱讀次數(shù)寫入到緩存中,在后臺寫個腳本定期從緩存中讀出來寫入到數(shù)據(jù)庫里。使用前端緩存的情況,可以用Ajax異步調(diào)用把閱讀次數(shù)寫入到數(shù)據(jù)庫中,如果寫壓力大的話,就像使用應(yīng)用層緩存一樣,先寫入緩存,再寫腳本定期讀。
評論——同學(xué)你知道有兩個東西叫Disqus和多問嗎?如果你要手動管理評論的話,使用應(yīng)用層緩存的情況下,就像平常一樣讀寫即可,只需要做好緩存管理;如果用前端緩存的話,以Varnish為例,讀的時候可以用ESITag這個特性,就像Apache的SSI一樣,寫評論的話,還是要用Ajax來異步寫入,當(dāng)然,你得在Varnish里設(shè)置不緩存POST提交。
歡迎深入討論。
                            
查看完整回答
反對 回復(fù) 2019-04-08
?
哆啦的時光機(jī)

TA貢獻(xiàn)1779條經(jīng)驗 獲得超6個贊

1,手動生成,比如織夢cms
2,配置緩存文件過期時間,用戶訪問頁面時,判斷緩存文件是否過期,如果沒有過期,直接讀取緩存文件,如果過期,就執(zhí)行PHP代碼重新讀取數(shù)據(jù)庫的數(shù)據(jù)生成緩存文件
                            
查看完整回答
反對 回復(fù) 2019-04-08
  • 2 回答
  • 0 關(guān)注
  • 374 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號