Redis學習之路(一)之緩存知識體系


轉自:https://www.unixhot.com/page/cache

緩存分層 緩存分級 內容 內容簡介/主要技術關鍵詞
用戶層 DNS 瀏覽器DNS緩存 Firefox默認60秒,HTML5的新特性:DNS Prefetching
    應用程序DNS緩存 Java(JVM)、PHP語言本身的DNS緩存
    操作系統DNS緩存 客戶端操作系統DNS緩存
    DNS緩存服務器 專用的DNS緩存服務器、LocalDNS緩存
  瀏覽器 瀏覽器緩存 HMTL5新特性:Link Prefetching
      基於最后修改時間的HTTP緩存協商: Last-Modified
      基於打標簽的HTTP緩存協商: Etag
      基於過期時間的HTTP緩存協商: Expires、cache-control
代理層 CDN 反向代理緩存 基於Nginx+(Squid、Varnish、ATS)等,一般有多級
Web層 解釋器 Opcache 操作碼緩存
  Web服務器 Web服務器緩存 Apache(mod_cache)、Nginx(FastCGI緩存、Proxy cache)
應用層 應用服務 動態內容緩存 緩存動態輸出
    頁面靜態化 動態頁面靜態化,需要專門用於靜態化的CMS
    Local Cache 應用本地緩存,PHP(Yac、Xcache) Java(ehcache)
數據層 分布式緩存 分布式緩存 Memcache、Redis等
  數據庫 MySQL MySQL自身緩存、innodb緩存、MYISAM緩存
系統層 操作系統 CPU Cache L1(數據緩存、指令緩存) L2、L3
    內存Cache 內存高速緩存、Page Cache
物理層 Raid卡 Raid Cache 磁盤陣列緩存(Raid卡可以控制是否使用磁盤高速緩存)
  磁盤 Disk Cache 磁盤高速緩存

一、用戶層緩存

1、查看谷歌瀏覽器DNS緩存信息方法

查看谷歌瀏覽器DNS緩存信息方法:chrome://net-internals/#dns,如圖谷歌瀏覽器中緩存了自身訪問的網站DNS緩存解析記錄,在下一次進行訪問時,不需要再進行域名解析,可以直接請求服務器IP地址,當然前提是在DNS的緩存時間沒有失效。

2、DNS預獲取

  DNS預獲取是屬於前端優化的一種手段,dns-prefetch可以提升頁面的載入速度。一般來說,在前端優化中與DNS有關的有2點:一個是減少DNS的請求次數,另一個就是進行DNS預獲取。

什么是 DNS Prefetch ?

    DNS Prefetch 是一種DNS 預解析技術,當你瀏覽網頁時,瀏覽器會在加載網頁時對網頁中的域名進行解析緩存,這樣在你單擊當前網頁中的連接時就無需進行DNS的解析,減少用戶等待時間,提高用戶體驗。 

如果要瀏覽器端對特定的域名進行解析,可以再在頁面中添加link標簽實現。例如京東的頁面就進行了DNS預獲取:

 

 


免責聲明!

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



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