Apache HTTP服务器 2.0版本
说明: | 基于URI的键的内容缓存 |
---|---|
状态: | Experimental |
模块名: | mem_cache_module |
源文件: | mod_mem_cache.c |
本模块需要mod_cache
提供的服务。它作为模块mod_cache
的辅助模块工作,以提供基于内存的存储管理。mod_mem_cache
模块可以按两种方法来配置:缓存打开的文件描述符,或缓存堆中的对象。在mod_proxy
模块配置成ProxyPass
方式时,mod_mem_cache
对缓存本地产生的内容或后端服务内容特别有用。
被缓存的内容通过基于URI的键被保存到缓存区或从缓存区取出。带存取保护的内容不会被缓存。
说明: | 最大缓存对象数 |
---|---|
语法: | MCacheMaxObjectCount value |
默认值: | MCacheMaxObjectCount 1009 |
上下文: | 服务器配置 |
状态: | Experimental |
模块: | mod_mem_cache |
MCacheMaxObjectCount
指令设定最大缓存对象数。这个值用来生成开放哈希表。如果一个新的对象要被插入缓存,而这时缓存的最大缓存对象数已经达到,原来缓存的某个对象会被移走以允许新的需缓存的对象插入缓存。具体哪个对象被移走,是通过MCacheRemovalAlgorithm
指令指定的算法来确定的。
MCacheMaxObjectCount 13001
说明: | 缓存允许的最大文档大小(以Byte为单位) |
---|---|
语法: | MCacheMaxObjectSize bytes |
默认值: | MCacheMaxObjectSize 10000 |
上下文: | 服务器配置 |
状态: | Experimental |
模块: | mod_mem_cache |
MCacheMaxObjectSize
指令设定缓存允许的最大文档大小
MCacheMaxObjectSize 6400000
MCacheMaxObjectSize
的值必须大于MCacheMinObjectSize
的值。
说明: | 定义最大流式化响应可缓冲长度 |
---|---|
语法: | MCacheMaxStreamingBuffer 字节长度 |
默认值: | MCacheMaxStreamingBuffer 100000 或 MCacheMaxObjectSize两者中的最小值 |
上下文: | 服务器配置 |
状态: | Experimental |
模块: | mod_mem_cache |
MCacheMaxStreamingBuffer
指令定义最大流式化响应可缓存长度,以决定是否这个流式化响应太长而不能被缓存。流式化响应是指整个响应包没法完整地得到,并且包长末知的响应。流式化响应的来源包括代理的响应内容和CGI脚本的输出。缺省情况下,除非响应头包含包长信息,流式化响应不会被缓存。这样做是为了避免使用大量内存缓存部分最终会因为太长而不能缓存的响应。而MCacheMaxStreamingBuffer
指令允许缓存不含包长的流式化响应,直到达到MCacheMaxStreamingBuffer
指定的值。如果达到了最大流式化响应可缓冲长度,已经被缓存的内容将会被释放,缓存也不再继续。
MCacheMaxStreamingBuffer
使用一个非零值不会对响应传送到客户产生延迟。当mod_mem_cache
模块将流式化的内容复制到缓冲区的时候,会同时将数据块传送到下一个输入点以传送给客户端。
# 指定最大流式化响应可缓冲长度为 64KB:
MCacheMaxStreamingBuffer 65536
说明: | 缓存允许的最小文档大小(以Byte为单位) |
---|---|
语法: | MCacheMinObjectSize bytes |
默认值: | MCacheMinObjectSize 0 |
上下文: | 服务器配置 |
状态: | Experimental |
模块: | mod_mem_cache |
MCacheMinObjectSize
指令设定缓存允许的最小文档大小
MCacheMinObjectSize 10000
说明: | 定义在需要时哪个文档被移出缓存的算法 |
---|---|
语法: | MCacheRemovalAlgorithm LRU|GDSF |
默认值: | MCacheRemovalAlgorithm GDSF |
上下文: | 服务器配置 |
状态: | Experimental |
模块: | mod_mem_cache |
MCacheRemovalAlgorithm
指令定义在需要时哪个文档被移出缓存。可以有两种选择:
LRU
(最近最少使用)LRU
指定最长时间没有用到的对象将在必要的时候移出缓存。GDSF
(GreadyDual-Size)GDSF
基于缓存命中率和文档大小计算优先级。在必要时,优先级最低的文档被移出缓存。
MCacheRemovalAlgorithm GDSF
MCacheRemovalAlgorithm LRU
说明: | 缓存所用最大内存量,以KB为单位。 |
---|---|
语法: | MCacheSize KBytes |
默认值: | MCacheSize 100 |
上下文: | 服务器配置 |
状态: | Experimental |
模块: | mod_mem_cache |
MCacheSize
指令设定缓存所用最大内存量,以KBytes(1024-byte)为单位。如果一个新的比缓存剩余内存量大对象的要插入缓存,原来缓存内的对象会被移走,直到这个新的对象能被插入缓存区。具体哪个对象被移走,是通过MCacheRemovalAlgorithm
指令指定的算法来确定的。
MCacheSize 700000
MCacheSize
的值必须比MCacheMaxObjectSize
指令设定的值大。