国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

如何了解nginx的緩存機(jī)制

2017-04-30 20:38:47 15249

Nginx服務(wù)器的緩存原理,是在學(xué)習(xí)過程中比較重要的一個(gè)知識點(diǎn),學(xué)習(xí)通透之后,對于自己的能力會有不小的提升——而且提升不只限于nginx一方面,技術(shù)理論一通百通,對于理解其他內(nèi)容也會有很大幫助。

Web緩存主要思想

Web緩存技術(shù)的基本思想是利用客戶訪問的時(shí)間局部性原理,對客戶已經(jīng)訪問過的內(nèi)容在Nginx服務(wù)器本地建立副本,這樣在一段時(shí)間內(nèi)再次訪問該數(shù)據(jù),就不需要通過Nginx服務(wù)器再次向后端服務(wù)器發(fā)出請求,所以能夠減少Nginx服務(wù)器與后端服務(wù)器之間的網(wǎng)絡(luò)流量,減輕網(wǎng)絡(luò)擁塞,同時(shí)還能減小數(shù)據(jù)傳輸延遲,提高用戶訪問速度。同時(shí),當(dāng)后端服務(wù)器宕機(jī)時(shí),Nginx服務(wù)器上的副本資源還能夠回應(yīng)相關(guān)的用戶請求,這樣能夠提高后端服務(wù)器的魯棒性。

Nginx緩存實(shí)現(xiàn)原理

基于Proxy Store的緩存機(jī)制

1.404錯(cuò)誤驅(qū)動

當(dāng)Nginx服務(wù)器發(fā)現(xiàn),用戶請求數(shù)據(jù)在服務(wù)器本地不存在時(shí),會產(chǎn)生404錯(cuò)誤,服務(wù)器能夠捕捉該錯(cuò)誤,進(jìn)一步轉(zhuǎn)向后端服務(wù)器請求相關(guān)數(shù)據(jù),最后將后端請求到的數(shù)據(jù)傳回客戶端,并在服務(wù)器本地緩存。

   blob.png

02資源不存在驅(qū)動

原理上基本等同于404錯(cuò)誤驅(qū)動,不同之處在于該方法是通過location塊的location if條件判斷直接驅(qū)動Nginx服務(wù)器和后端服務(wù)器的通信和Web緩存,而不對資源不存在產(chǎn)生404錯(cuò)誤。

配置文件片段:

 blob.png

這兩種緩存機(jī)制只能緩存200狀態(tài)下的響應(yīng)數(shù)據(jù),同時(shí)不支持動態(tài)鏈接請求。比如:getsource?id=1和getsource?id=2這兩個(gè)請求,返回的是相同的資源。所以實(shí)際上,一般是采用Nginx搭配Squid服務(wù)器架構(gòu)實(shí)現(xiàn)方案。

基于memcached的緩存機(jī)制

memcached在內(nèi)存中開辟一塊空間,然后建立一個(gè)Hash表,將緩存數(shù)據(jù)通過鍵/值存儲在Hash表中進(jìn)行管理。memcached由服務(wù)端和客戶端兩個(gè)核心模塊組成,服務(wù)端通過計(jì)算“鍵”的Hash值來確定鍵/值對在服務(wù)端所處的位置。當(dāng)位置確定后,客戶端就會向?qū)?yīng)的服務(wù)端發(fā)送一個(gè)查詢請求,讓服務(wù)端查找并返回所需數(shù)據(jù)。

[來源于馬哥linux]


提交成功!非常感謝您的反饋,我們會繼續(xù)努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問題: