apache缓存如何设置

2025-10-16 14:58:41

1、基于硬盘文件的缓存基于硬盘文件存储的缓存由 mod_disk_cache 模块实现,先看个简单的配置例子:<IfModule mod_cache.c>    CacheDefaultExpire 86400    <IfModule mod_disk_cache.c>    CacheEnable disk /    CacheRoot /tmp/apacheCache    CacheDirLevels 5    CacheDirLength 4    CacheMaxFileSize 1048576    CacheMinFileSize 10    </IfModule></IfModule>把上面的配置加到 Apache 的 httpd.conf 文件中,如果缓存相关的模块都已经编译进了 Apache 的核心,则无需加载模块,直接就能使用上面的指令。指令的详细说明如下:CacheDefaultExpire:设定缓存过期的时间(秒),默认是1小时,只有当缓存的文档没有设置过期时间或最后修改时间时这个指令才会生效CacheEnable:启用缓存,第1个参数是缓存类弄,这里当然是 disk了,第2个参数是缓存路径,指的是 url 路径,这里是缓存所有的东西,直接写上“/”即可,如“/docs”则只缓存 /docs 下的所有文件CacheRoot:缓存文件所在的目录,运行 Apache 的用户(如daemon 或 nobody)要能对其进行读写,如果不清楚的话可以直接设置成 777,请手动建立该目录并设置好访问权限CacheDirLevels:缓存目录的深度,默认是3,这里设置为5CacheDirLength:缓存目录名的字符长度,默认是4,这里设置为5CacheMaxFileSize 和 CacheMaxFileSize:缓存文件的最大值和最小值(byte),当超过这个范围时将不再缓存,这里设置为 1M 和 10bytes基于硬盘文件存储的文件基本上就这些内容,设置好后重启 Apache 应该就能使用了。一切正常的话,可以在缓存目录下看到 Apache 自动建立的一些目录和缓存的数据文件。

2、基于内存的缓存基于内存的缓存主要由 mod_mem_cache 模块实现,还是看个简单的配置吧,这样比较直观:-)<IfModule mod_cache.c>   <IfModule mod_mem_cache.c>       CacheEnable mem /       MCacheMaxObjectCount 20000       MCacheMaxObjectSize 1048576       MCacheMaxStreamingBuffer 65536       MCacheMinObjectSize 10       MCacheRemovalAlgorithm GDSF       MCacheSize 131072   </IfModule></IfModule>简单说一下上面一些指令的意思:CacheEnable:启用缓存,使用基于内存的方式存储MCacheMaxObjectCount:在内存中最多能存储缓存对象的个数,默认是1009,这里设置为20000MCacheMaxObjectSize:单个缓存对象最大为 1M,默认是10000bytesMCacheMaxStreamingBuffer:在缓冲区最多能够放置多少的将要被缓存对象的尺寸,这里设置为 65536,该值通常小于100000或 MCacheMaxObjectSize 设置的值MCacheMinObjectSize:单个缓存对象最小为10bytes,默认为1bytesMCacheRemovalAlgorithm:清除缓存所使用的算法,默认是 GDSF,还有一个是LRU,可以查一下 Apache 的官方文档,上面有些介绍MCacheSize:缓存数据最多能使用的内存,单位是 kb,默认是100kb,这里设置为128M保存重启 Apache 基于内存的缓存系统应该就能生效了,根据需要可以使基于内存的存储或硬盘文件的存储方式一起使用,只要指明不同的URL路径即可。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢