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