Apache HTTP Server 版本2.2
說明 | 基于內(nèi)存的緩沖管理器 |
---|---|
狀態(tài) | 擴展(E) |
模塊名 | mem_cache_module |
源文件 | mod_mem_cache.c |
本模塊需要mod_cache
提供的服務。它作為mod_cache
的輔助模塊工作,以提供基于內(nèi)存的存儲管理。mod_mem_cache
模塊可以按兩種方法來配置:緩存打開的文件描述符,或緩存堆中的對象。mod_mem_cache
大多數(shù)情況下用于緩存本地生成的內(nèi)容,或是在mod_proxy
配置成ProxyPass
方式(也就是反向代理)時后端服務器產(chǎn)生的內(nèi)容。
被緩存的內(nèi)容通過基于URI的鍵被保存到緩沖區(qū)或從緩沖區(qū)取出。帶訪問保護的內(nèi)容不會被緩存。
說明 | 最大緩存對象數(shù) |
---|---|
語法 | MCacheMaxObjectCount value |
默認值 | MCacheMaxObjectCount 1009 |
作用域 | server config |
狀態(tài) | 擴展(E) |
模塊 | mod_mem_cache |
MCacheMaxObjectCount
指令設定最大緩存對象數(shù)。這個值用來生成開放哈希表。如果一個新的對象要被插入緩存,而此時緩存的最大緩存對象數(shù)已達到極限,原來緩存的某個對象會被移走以允許新對象插入緩存。具體哪個對象被移走,是通過MCacheRemovalAlgorithm
指令指定的算法來確定的。
MCacheMaxObjectCount 13001
說明 | 緩存允許的最大文檔大小(字節(jié)) |
---|---|
語法 | MCacheMaxObjectSize bytes |
默認值 | MCacheMaxObjectSize 10000 |
作用域 | server config |
狀態(tài) | 擴展(E) |
模塊 | mod_mem_cache |
MCacheMaxObjectSize
指令設定允許緩存的最大文檔大小(以Byte為單位)。
MCacheMaxObjectSize 6400000
MCacheMaxObjectSize
的值必須大于MCacheMinObjectSize
的值。
說明 | 內(nèi)存中允許緩沖的最大流式響應字節(jié)長度 |
---|---|
語法 | MCacheMaxStreamingBuffer size_in_bytes |
默認值 | MCacheMaxStreamingBuffer 100000與MCacheMaxObjectSize中的小者 |
作用域 | server config |
狀態(tài) | 擴展(E) |
模塊 | mod_mem_cache |
MCacheMaxStreamingBuffer
內(nèi)存中允許緩沖的最大流式響應字節(jié)長度,以決定這個流式響應是否太長而不能被緩存。流式響應是指整個響應內(nèi)容無法完整地得到,并且Content-Length
也末知的響應。流式響應的來源包括代理的響應內(nèi)容和CGI腳本的輸出。默認情況下,除非響應頭包含Content-Length
信息,否則流式響應不會被緩存。這樣做是為了避免使用大量內(nèi)存緩存那些最終因為太長而不能緩存的響應。而MCacheMaxStreamingBuffer
指令允許緩存不含Content-Length
的流式響應,直到達到其指定的值。如果達到了最大流式響應可緩沖長度,已經(jīng)被緩存的內(nèi)容將會被釋放,緩存也不再繼續(xù)。
對MCacheMaxStreamingBuffer
使用一個非零值不會對響應傳送到客戶產(chǎn)生延遲。當mod_mem_cache
模塊將流式化的內(nèi)容復制到緩沖區(qū)的同時會將數(shù)據(jù)塊傳送到下一個輸入點以傳送給客戶端。
# 指定最大流式響應可緩沖長度為 64KB
MCacheMaxStreamingBuffer 65536
說明 | 允許緩存的最小文檔大小(字節(jié)) |
---|---|
語法 | MCacheMinObjectSize bytes |
默認值 | MCacheMinObjectSize 0 |
作用域 | server config |
狀態(tài) | 擴展(E) |
模塊 | mod_mem_cache |
MCacheMinObjectSize
指令設定允許緩存的最小文檔大小。
MCacheMinObjectSize 10000
說明 | 定義在需要時哪個文檔被移出緩存的算法 |
---|---|
語法 | MCacheRemovalAlgorithm LRU|GDSF |
默認值 | MCacheRemovalAlgorithm GDSF |
作用域 | server config |
狀態(tài) | 擴展(E) |
模塊 | mod_mem_cache |
MCacheRemovalAlgorithm
指令定義在需要時哪個文檔被移出緩存。可以有兩種選擇:
LRU
(最近最少使用)LRU
指定最長時間沒有用到的對象將在必要的時候移出緩存。GDSF
(GreadyDual-Size)GDSF
基于緩存命中率和文檔大小計算優(yōu)先級。在必要時,優(yōu)先級最低的文檔被移出緩存。
MCacheRemovalAlgorithm GDSF
MCacheRemovalAlgorithm LRU
說明 | 緩存允許使用的最大內(nèi)存量,以KB為單位 |
---|---|
語法 | MCacheSize KBytes |
默認值 | MCacheSize 100 |
作用域 | server config |
狀態(tài) | 擴展(E) |
模塊 | mod_mem_cache |
MCacheSize
指令設定緩存允許使用的最大內(nèi)存量,以KB(1024-byte)為單位。如果一個新的比緩存剩余內(nèi)存量大的對象要插入緩存,那么原來緩存內(nèi)的對象會被移走,直到這個新的對象能被插入緩沖區(qū)。具體哪個對象被移走,是通過MCacheRemovalAlgorithm
指令指定的算法來確定的。
MCacheSize 700000
MCacheSize
的值必須比MCacheMaxObjectSize
的值大。