欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nginx緩存在服務(wù)端 代理和客戶端的區(qū)別深入探索

 更新時間:2023年10月23日 14:15:05   作者:bug生產(chǎn)者  
這篇文章主要介紹了Nginx緩存在服務(wù)端 代理和客戶端的區(qū)別深入探索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

Nginx緩存

一般情況下系統(tǒng)用到的緩存有三種

  • 服務(wù)端緩存:緩存存在后端服務(wù)器,如redis
  • 代理緩存:緩存存儲在代理服務(wù)器或中間件,內(nèi)容從后端服務(wù)器獲取,保存在本地
  • 客戶端緩存:緩存在瀏覽器

[ ] 什么時候會出現(xiàn)304? 服務(wù)器響應(yīng)中包含有ETaglast-modified,瀏覽器下次去請求時會發(fā)送這兩個標簽,直接返回304 Not Modified來告訴瀏覽器該資源沒有修改,不需要從服務(wù)器獲取最新的,瀏覽器就會直接使用本地緩存

Nginx使用的緩存屬于代理緩存

cache配置

Nginx通過proxy_cache來實現(xiàn)緩存。Buffer(緩沖)主要用于傳輸效率不同步或者優(yōu)先級不相同的設(shè)備之間傳輸數(shù)據(jù),通過對一方數(shù)據(jù)進行臨時存放,在統(tǒng)一發(fā)送的方式傳遞給另一方,以降低進程間的等待時間;Cache(緩存)主要用于將硬盤上已有的數(shù)據(jù)在內(nèi)存中建立緩存數(shù)據(jù),提高數(shù)據(jù)的訪問效率。

而proxy_cache只有在Proxy Buffer機制開啟的情況下Proxy Cache的配置才會發(fā)揮作用

相關(guān)配置

  • proxy_zone:zone | off 默認是off,即關(guān)閉proxy_cache功能,zone為用于存放緩存的內(nèi)存區(qū)域名稱,可以在http/server、location塊內(nèi)使用
  • proxy_cache_path: path [levels=levels] keys_zone-name:size [inactive=time] [max_size=size] 只能在http塊內(nèi)使用

    • path設(shè)置緩存數(shù)據(jù)存放的路徑
    • levels設(shè)置目錄層級,如levels=1:2,表示有兩個子目錄
    • keys_zone 設(shè)置內(nèi)存zone的名稱和大小,如keys_zone=my:10m
    • inactive設(shè)置緩存多長時間失效,當磁盤上的緩存數(shù)據(jù)在該時間段內(nèi)沒有被訪問過,就會失效,數(shù)據(jù)將被刪除,默認10s
    • max_size 設(shè)置硬盤中最多緩存多少數(shù)據(jù),數(shù)據(jù)超出,則刪除最少訪問的數(shù)據(jù)
  • proxy_cache_methods GET HEAD POST 設(shè)置緩存哪些方法
  • proxy_cache_min_uses 1 設(shè)置緩存的最小使用次數(shù)
  • proxy_cache_valid code time 對不同的狀態(tài)碼緩存不同的時間
  • proxy_cache_key line 設(shè)置緩存的key值

示例

http {
    proxy_cache_path    /var/www/cache #緩存地址
                        levels=1:2 #目錄分級
                        keys_zone=test_cache:10m #開啟的keys空間名字:空間大小(1m可以存放8000個key)
                        max_size=10g #目錄最大大小(超過時,不常用的將被刪除)
                        inactive=60m #60分鐘內(nèi)沒有被訪問的緩存將清理
                        use_temp_path=off; #是否開啟存放臨時文件目錄,關(guān)閉默認存儲在緩存地址
    server {
            # 使用緩存
        location / {
            proxy_cache test_cache;    #開啟緩存對應(yīng)的名稱,在keys_zone命名好
            proxy_cache_valid 200 304 12h;    #狀態(tài)碼為200 304的緩存12小時
            proxy_cache_valid any 10m;    #其他狀態(tài)緩存10分鐘
            proxy_cache_key $host$uri$is_args$args;    #設(shè)置key值
            add_header Nginx-Cache "$upstream_cache_status";
        }
        #不使用緩存
        if ($request_uri ~ ^/(login|register) ) {    #當請求地址有l(wèi)ogin或register時
            set $nocache = 1;    #設(shè)置一個自定義變量為true
            }
            location / {
            proxy_no_cache $nocache $arg_nocache $arg_comment;
            proxy_no_cache $http_pragma $http_authoriztion;
            }
    }
}

expires配置

location ~ .*.(jpg|jpeg|gif|png)$ {
    # 設(shè)置圖片緩存過期時間
    expires 1d;
} 
# 匹配靜態(tài)目錄
location ~^ /(|css|js) / {
    expires 2h;
}

響應(yīng)會返回給瀏覽器Expires屬性,展示的是過期時間,之后再次請求該資源時,如果沒有超過響應(yīng)返回的Expires時,則不需要向服務(wù)器訪問,直接從緩存中獲取

靜態(tài)資源緩存

# 緩存zone levels表示緩存層級以及目錄位數(shù) keys_zone表示緩存內(nèi)存大小 inactive有效期 max_size所占用的最大磁盤大小
proxy_cache_path /data/nginx/cache_ad levels=1:2 keys_zone=cache_cache_ad:100m inactive=7d max_size=200m;
server {
    location / {
      # 緩存zone
      proxy_cache cache_ad;
      # 緩存key  進行md5
      proxy_cache_key $host$uri$is_args$args;
      # 什么情況下進行緩存存儲
      proxy_cache_valid 200 304 12h;
    }
}

以上就是Nginx緩存在服務(wù)端 代理和客戶端的區(qū)別深入探索的詳細內(nèi)容,更多關(guān)于Nginx緩存服務(wù)端代理客戶端的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 詳解Nginx 502錯誤解決辦法

    詳解Nginx 502錯誤解決辦法

    這篇文章主要介紹了詳解Nginx 502錯誤解決辦法的相關(guān)資料,這里說明幾種可能出現(xiàn)的502錯誤的實例,并一一說明如何解決,需要的朋友可以參考下
    2017-08-08
  • Nginx代理Partainer的實現(xiàn)

    Nginx代理Partainer的實現(xiàn)

    本文主要介紹了Nginx代理Partainer的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 詳解nginx如何配置HTTPS

    詳解nginx如何配置HTTPS

    本篇文章主要介紹了詳解nginx如何配置HTTPS,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • Rhit高效可視化Nginx日志查看工具

    Rhit高效可視化Nginx日志查看工具

    一個格式化 Nginx 日志,可快速閱讀、查看 Nginx 日志的工具。 可以每秒處理百萬行日志數(shù)據(jù),感興趣的可以了解一下
    2021-10-10
  • 使用Nginx反向代理到go-fastdfs的方法示例

    使用Nginx反向代理到go-fastdfs的方法示例

    這篇文章主要介紹了使用Nginx反向代理到go-fastdfs的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Nginx中FastCGI如何配置優(yōu)化

    Nginx中FastCGI如何配置優(yōu)化

    這篇文章主要介紹了Nginx中FastCGI如何配置優(yōu)化,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • 詳細聊聊K8s容器內(nèi)nginx帶變量的域名解析

    詳細聊聊K8s容器內(nèi)nginx帶變量的域名解析

    這篇文章主要給大家介紹了關(guān)于K8s容器內(nèi)nginx帶變量域名的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-01-01
  • 封80端口應(yīng)對策略 Nginx反向代理For WIN2003超級傻瓜式配置

    封80端口應(yīng)對策略 Nginx反向代理For WIN2003超級傻瓜式配置

    封80應(yīng)對策略,Nginx反向代理ForWIN2003超級傻瓜式配置!
    2010-03-03
  • 解決Nginx + PHP(FastCGI)遇到的502 Bad Gateway錯誤

    解決Nginx + PHP(FastCGI)遇到的502 Bad Gateway錯誤

    昨日,有朋友問我,他將Web服務(wù)器換成Nginx 0.6.31 + PHP 4.4.7(FastCGI)后,有時候訪問會出現(xiàn)“502 Bad Gateway”錯誤,如何解決。
    2009-10-10
  • Nginx配置二級域名的方法實現(xiàn)

    Nginx配置二級域名的方法實現(xiàn)

    本文主要介紹了Nginx配置二級域名的方法實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03

最新評論