cdn緩存立刻刷新


現在例如有一個業務需求是客戶更新圖片,那我們需要及時更新,可是正常的上傳是無法及時更新的,因為七牛雲會有客戶端緩存和cdn緩存,這時候可能有多種處理方式:
 
1.cdn和客戶端緩存的時間調短,例如1分鍾,這樣每分鍾就都會更新,我們覆蓋上傳文件后一分鍾后就能查看到新的。
 
優點:操作方便。
 
缺點:這會導致七牛雲的回源流量增多,數據量大的情況下會增加很多費用。
 
七牛雲的雲文件讀取機制如下:
 
2.每次更新的時候,更改文件名,如果上傳成功,則刪掉老文件。
 
優點:也能成功。
 
缺點:有點麻煩
 
3.每次覆蓋上傳,然后調用刷新接口:
 
優點:不是很難處理,也能實現
 
缺點:調用刷新接口后也要等七牛雲的隊列處理,有時候會阻塞很久,因為是隊列處理也是異步。
 
4.(推薦)每次上傳還是覆蓋上傳,然后將文件名加上更新時間參數進行訪問,並且隨機參數只有在更新的情況下會更新,也就是說要把這個文件名加更新時間保存起來,例如:
 
第一次傳,文件名:‘a.jpg’,域名:www.bcd.com ,更新時間:20230809115402,在不更新的情況下,往后訪問的外鏈就一直是‘http://www.bcd.com/a.jpg?20230809115402’
 
第二次更新,文件名:‘a.jpg’,域名:www.bcd.com ,更新時間:20230810185402,在不更新的情況下,往后訪問的外鏈就一直是‘http://www.bcd.com/a.jpg?20230810185402’。
 
缺點:需要把隨機數也保存起來
 
優點:及時更新就能及時訪問到,並且cdn溯源流量只在更新的時候會產生,其他時候不會產生,並且是覆蓋文件,所以不需要刪除老文件。
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM