網(wǎng)站緩存設計

一、關于網(wǎng)站頁面靜態(tài)緩存,如何確保一個頁面可以設置靜態(tài)緩存?

  • nginx 會按照目錄層級查找文件,并且默認讀取文件都是(index.html,index.htm,index.php),靜態(tài)頁面緩存就是網(wǎng)頁動態(tài)數(shù)據(jù)加載完后生產一個靜態(tài)的html文件,下次讀取的時候直接讀取靜態(tài)文件,就不需要反復請求數(shù)據(jù)了。所以 nginx 服務器優(yōu)先去匹配請求的路由是否存在緩存文件,若存在就輸出,不存在就走 php 然后生成靜態(tài)文件,下次訪問的時候直接讀取靜態(tài)頁面。
  • 接下來就是路由的配置了,通俗的將路由上的一個(/)就是一個目錄,所以為了按照目錄層級去找,控制器中一定不要使用 url 后面帶的參數(shù),比如分頁(?p=1)又或者類型(?t=game),這樣的我們都需要配置到路由里面去,按照指定的參數(shù)生成層級目錄。
  • 若路由中帶.html,直接生成對應文件,以(/)結尾則在目錄下生成(index.html)文件。
  • 通常緩存都有一個過期時間,在生成靜態(tài)文件的時候我們用到 linux 中的 touch 方法來改變文件的創(chuàng)建時間,將創(chuàng)建時間設置為未來時間,即需要更新緩存的時間,然后配合 corn 腳本定時檢查文件是否過期。

二、刪除靜態(tài)緩存

  • twig 模板緩存,目錄(var/cache/twig/),這個是 twig 模板引擎自帶的緩存功能,只需在配置文件中啟用即可。
  • (var/cache/public/) php 生成的靜態(tài)緩存文件目錄。
  • 首頁(5分鐘)、作品列表(15分鐘)、作品詳情(15分鐘)、其它頁面(1小時)

三、nginx 緩存

  • 目前用到的是 fastcgi_cache 來做 nginx 的緩存,主要工作原理是:根據(jù) fastcgi_key 在指定的緩存目錄生成2個目錄層級來存放緩存文件,服務器會先讀未過期的緩存文件,若文件過期會訪問php,重新生成,目前 nginx 緩存設置時間為 5 分鐘。
  • 網(wǎng)站 nginx 緩存的目錄為(var/cache/nginx/)
  • api 的緩存目錄為(var/cache/nginx、)
  • api 的緩存設置思路主要是:沒有數(shù)據(jù)創(chuàng)建,更新操作,不需要用戶授權,只是信息獲取的接口一律設置緩存。緩存的過期時間設置思路是一個 Set::all() 60 秒,一個 load 10 秒,另外一個約束,不能 foreach 集合后再 foreach 里面再使用Set::all(),若出現(xiàn)類似接口,則需優(yōu)化代碼。

四、測試機要更新一個頁面的緩存,最保險的方法是:

  • 停止 nginx 和 php 。
  • 刪除 api (var/cache/nginx/)所有文件
  • 刪除 www (var/cache/twig/) 所有文件
  • 刪除 www (var/cache/public/) 所有文件
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 1.關于網(wǎng)站頁面靜態(tài)緩存,如何確保一個頁面可以設置靜態(tài)緩存? nginx 會按照目錄層級查找文件,并且默認讀取文件...
    Separes閱讀 484評論 0 0
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,699評論 19 139
  • 一、MemCache簡介 session MemCache是一個自由、源碼開放、高性能、分布式的分布式內存對象緩存...
    李偉銘MIng閱讀 4,017評論 2 13
  • 上一篇《WEB請求處理一:瀏覽器請求發(fā)起處理》,我們講述了瀏覽器端請求發(fā)起過程,通過DNS域名解析服務器IP,并建...
    七寸知架構閱讀 81,808評論 21 356
  • 《葉嘉瑩說漢魏朝詩》今日筆記 曹氏父子的詩風各不相同,曹操的詩以氣魄打動人,曹丕的詩是用平凡的文字慢慢打動你,曹植...
    劉小麥同學閱讀 670評論 0 0

友情鏈接更多精彩內容