apache缓存如何设置

2025-04-15 23:42:54

1、基于硬盘文件的缓存基于硬盘文件存储的缓存由mod_disk_cache模块实现,先看个简单的配置例子:<IfModu造婷用痃lemod_cache.c>CacheDefaultExpire86400<IfModulemod_disk_cache.c>CacheEnabledisk/CacheRoot/tmp/apacheCacheCacheDirLevels5CacheDirLength4CacheMaxFileSize1048576CacheMinFileSize10</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模块实现,还是看个简单的配置吧,这样比较直观:幻腾寂埒-)<IfModulemod_cache.c><IfModulemod_mem_cache.c>CacheEnablemem/MCacheMaxObjectCount20000MCacheMaxObjectSize1048576MCacheMaxStreamingBuffer65536MCacheMinObjectSize10MCacheRemovalAlgorithmGDSFMCacheSize131072</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。
猜你喜欢