Apache HTTP Server 2.4 版
說明 | HTTP 快取篩選器的磁碟儲存模組。 |
---|---|
狀態 | 擴充功能 |
模組識別碼 | cache_disk_module |
來源檔案 | mod_cache_disk.c |
mod_cache_disk
為 mod_cache
實作一個磁碟儲存管理員。
快取回應的標頭和本體會分別儲存在磁碟上,以一個來自快取網址之 MD5 哈希建立的目錄結構中。
可以同步儲存多個內容協商回應,然而,這個模組目前尚不支援部分內容快取。
標頭和本體檔案的原子快取更新能在無需鎖定的狀況下完成,方法是將本體檔案的裝置與 inode 號碼儲存在標頭檔案中。如此做會產生一個副作用,手動移入快取中的快取項目會被忽略。
提供 htcacheclean
工具,以列出快取網址、移除快取網址,或將磁碟快取的大小維持在大小和/或 inode 的限制範圍內。此工具可以隨時執行,或以守護行程執行以持續監控目錄大小。
mod_cache_disk
需要 mod_cache
的服務,且必須先載入 mod_cache,才能載入 mod_cache_disk。
mod_cache_disk
使用 Sendfile 功能從快取服務檔案(若平台支援,且已啟用 EnableSendfile
的話)。然而,mod_cache_disk
忽略 EnableSendfile
的每個目錄設定和 .htaccess 設定,因為當要求從快取服務時,模組無法取得對應的設定。
說明 | 子目錄名稱中的字元數 |
---|---|
語法 | CacheDirLength length |
預設值 | CacheDirLength 2 |
內容 | 伺服器設定、虛擬主機 |
狀態 | 擴充功能 |
模組 | mod_cache_disk |
CacheDirLength
指令設定快取階層中每個子目錄名稱的字元數。它可以搭配 CacheDirLevels
使用,以決定快取階層的近似結構。
CacheDirLength
的高值與 CacheDirLevels
的低值將產生相對較平的階層,每一層都有大量的子目錄。
CacheDirLevels
* CacheDirLength
的結果不能高於 20。
說明 | 快取中子目錄的層級數量。 |
---|---|
語法 | CacheDirLevels levels |
預設值 | CacheDirLevels 2 |
內容 | 伺服器設定、虛擬主機 |
狀態 | 擴充功能 |
模組 | mod_cache_disk |
CacheDirLevels
指令設定快取中子目錄的層級數量。快取資料將儲存在這個目錄層級,低於 CacheRoot
目錄。
CacheDirLevels
的高值與 CacheDirLength
的低值將產生相對較深的階層,每一層都有少量的子目錄。
CacheDirLevels
* CacheDirLength
的結果不能高於 20。
說明 | 要放入快取的文件最大尺寸(以位元組為單位) |
---|---|
語法 | CacheMaxFileSize bytes |
預設值 | CacheMaxFileSize 1000000 |
內容 | 伺服器設定、虛擬主機、目錄、.htaccess |
狀態 | 擴充功能 |
模組 | mod_cache_disk |
CacheMaxFileSize
指令設定要考慮儲存在快取中的文件最大尺寸(以位元組為單位)。
CacheMaxFileSize 64000
說明 | 要放入快取的文件最小尺寸(以位元組為單位) |
---|---|
語法 | CacheMinFileSize bytes |
預設值 | CacheMinFileSize 1 |
內容 | 伺服器設定、虛擬主機、目錄、.htaccess |
狀態 | 擴充功能 |
模組 | mod_cache_disk |
CacheMinFileSize
指令設定要考慮儲存在快取中的文件最小尺寸(以位元組為單位)。
CacheMinFileSize 64
說明 | 在傳送資料下游之前,要讀取並快取的文件最小尺寸(以位元組為單位) |
---|---|
語法 | CacheReadSize bytes |
預設值 | CacheReadSize 0 |
內容 | 伺服器設定、虛擬主機、目錄、.htaccess |
狀態 | 擴充功能 |
模組 | mod_cache_disk |
CacheReadSize
指令設定後端中在將資料送出至客戶端前要讀取資料的最小位元組數。預設值為零,代表立刻傳送所有讀取到的資料到客戶端。若設定為較高的值,磁碟快取會在傳送結果至客戶端前緩衝至少該數量。當從反向代理伺服器快取內容時,這可以提升效能。
此指令只在資料儲存至快取中時生效,而非從快取中提供資料時。
CacheReadSize 102400
說明 | 讀取時傳送下游資料前經過的最小時間 (毫秒數) |
---|---|
語法 | CacheReadTime milliseconds |
預設值 | CacheReadTime 0 |
內容 | 伺服器設定、虛擬主機、目錄、.htaccess |
狀態 | 擴充功能 |
模組 | mod_cache_disk |
CacheReadTime
指令設定在嘗試將資料傳送至客戶端前下游經過的最小時間。在此時間內,資料會在傳送結果至客戶端前緩衝。當從反向代理伺服器快取內容時,這可以提升效能。
預設值為零,會停用此選項。
此指令只在資料儲存至快取中時生效,而非從快取中提供資料時。建議搭配使用 CacheReadSize
指令,以確保資料快於預期到達時,伺服器不會過度緩衝。
CacheReadTime 1000
說明 | 儲存快取檔案的目錄根目錄 |
---|---|
語法 | CacheRoot directory |
內容 | 伺服器設定、虛擬主機 |
狀態 | 擴充功能 |
模組 | mod_cache_disk |
CacheRoot
指令定義磁碟上用於包含快取檔案的目錄名稱。若已載入或編譯 mod_cache_disk
模組至 Apache 伺服器中,必須定義此指令。未提供 CacheRoot
值時,將導致設定檔處理錯誤。CacheDirLevels
及 CacheDirLength
指令定義指定根目錄下目錄的結構。
CacheRoot c:/cacheroot