實現的途徑:expire cache-control
更新快取的機制
如何校驗本地快取是否過期
expires cache-control(max-age)如果超期,說明失效
然後進行etag是否過期(是一串字串)優先校驗 先用etag,如果沒有---last-modified
last-modified---具體的時間 過期時間時分秒----http request頭資訊
配置語法
304---快取和修改時間沒有更新,就提示 not modified
如果客戶端(request-header)加入了請求頭 cache-control max-age=0 ,那麼意味著每次請求都要到服務端校驗。通常用請求頭last-modified對比 服務端檔案的修改時間,從而得出是否快取更新;這樣做的好處是可以實時請求服務端的檔案更新,壞處是不斷向服務端發起連線請求,沒利用上快取
86400秒=24小時 **快取,動態快取都依賴response head的cache-control
**都盡可能減少對後端的訪問,從而把資源放到前端的nginx快取中,
快取放服務端---服務端快取常見的是key-value,常見的是資料放在memocache,redis
**中介軟體---**快取, 從服務端獲取到快取到本地,放在nginx一端
客戶端快取----放在瀏覽器上
nginx**快取的流程
配置語法
配置快取過期週期
測試場景:
主機啟動8001,8002,8003這三個埠
設定上圖proxy_cache_path 引數下 定義了存放快取的路徑,資料夾分級方式:2層資料夾,keys_zone是為快取命名inactive=60m,意味著60分鐘內該快取如果未被訪問將被淘汰掉
其他配置資訊:proxy_cache_valid 200 304 意味著狀態200,狀態304下返回的頭資訊 超時時間是12小時
proxy_cache_valid_any 10m 除了狀態200 和 304 其他狀態下返回頭資訊只保留10分鐘
proxy_next_upstream 遇到下列情況,換伺服器服務:遇到狀態500,502,503 504;超時;提示錯誤
add_header新增請求資訊頭 nginx_cache
把proxy_cache_調為off,就能訪問不同的服務端返回頁面了,如下圖
清理指定快取的方法
如何讓頁面不快取
針對特別頁面設定不快取的**
乙個很特別的刪除語句
大檔案分片請求 slice 後面的size 就是分片檔案大小
原理,先提交請求到後端,然後拿到請求的檔案大小,然後根據slice size進行切片,形成乙個個獨立的小檔案,分別請求服務後端
優勢:每個子請求收到的資料都會形成乙個獨立檔案,乙個請求斷了,其他的請求不受影響
缺點:一次請求會建立乙個作業系統控制代碼,如果檔案很大slice size很小就會造成很多個請求,造成建立多個連線和多個控制代碼
大檔案 分片和 合成
越來越喜歡 linux 系統,命令列工具功能強大 操作簡單。linux 下 cheat 檢視 split 幫助 cheat split to split a large text file into smaller files of 1000 lines each split file.txt l ...
vue 大檔案分片上傳
最近公司在使用vue做工程專案,實現大檔案分片上傳。網上找了一天,發現網上很多 都存在很多問題,最後終於找到了乙個符合要求的專案。工程如下 對專案的大檔案上傳功能做出分析,怎麼實現大檔案分片上傳時的呢,這個問題網上專門找到監控軟體進行監控,如何分片的。專案開始後使用 http debugger監控工...
vue 大檔案分片上傳
最近公司在使用vue做工程專案,實現大檔案分片上傳。網上找了一天,發現網上很多 都存在很多問題,最後終於找到了乙個符合要求的專案。工程如下 對專案的大檔案上傳功能做出分析,怎麼實現大檔案分片上傳時的呢,這個問題網上專門找到監控軟體進行監控,如何分片的。專案開始後使用 http debugger監控工...