Loading CHANGES +4 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,10 @@ Changes with Apache 2.1.0-dev [Remove entries to the current 2.0 section below, when backported] *) mod_disk_cache: Remove a bunch of non-implemented garbage collection and cache size directives that are now available through htcacheclean. [Justin Erenkrantz] *) Add htcacheclean to support/ for assistance with mod_disk_cache. [Andreas Steinmetz] Loading docs/manual/mod/mod_disk_cache.xml +1 −184 Original line number Diff line number Diff line <?xml version="1.0"?> <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> <?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?> <!-- $Revision: 1.10 $ --> <!-- $Revision: 1.11 $ --> <!-- Copyright 2002-2004 The Apache Software Foundation Loading Loading @@ -70,52 +70,6 @@ stored</description> </usage> </directivesynopsis> <directivesynopsis> <name>CacheSize</name> <description>The maximum amount of disk space that will be used by the cache in KBytes</description> <syntax>CacheSize <var>KBytes</var></syntax> <default>CacheSize 1000000</default> <contextlist><context>server config</context><context>virtual host</context> </contextlist> <usage> <p>The <directive>CacheSize</directive> directive sets the desired disk space usage of the cache, in KBytes (1024-byte units). This directive does not put a hard limit on the size of the cache. The garbage collector will delete files until the usage is at or below the settings. Always use a value that is lower than the available disk space.</p> <example> CacheSize 5000000 </example> </usage> </directivesynopsis> <directivesynopsis> <name>CacheGcInterval</name> <description>The interval between garbage collection attempts.</description> <syntax>CacheGcInterval <var>hours</var></syntax> <contextlist><context>server config</context><context>virtual host</context> </contextlist> <usage> <p>The <directive>CacheGcInterval</directive> directive specifies the number of hours to wait between attempts to free up disk space.</p> <p>More detail will be added here, when the function is implemented.</p> <example> CacheGcInterval 24<br /> </example> <note type="warning"> The <directive>CacheGcInterval</directive> directive is currently <em>not</em> implemented. </note> </usage> </directivesynopsis> <directivesynopsis> <name>CacheDirLevels</name> <description>The number of levels of subdirectories in the Loading Loading @@ -167,29 +121,6 @@ cache.</description> </usage> </directivesynopsis> <directivesynopsis> <name>CacheExpiryCheck</name> <description>Indicates if the cache observes Expires dates when seeking files</description> <syntax>CacheExpiryCheck On|Off</syntax> <default>CacheExpiryCheck On</default> <contextlist><context>server config</context><context>virtual host</context> </contextlist> <usage> <p>More detail will be added here, when the function is implemented.</p> <example> CacheExpiryCheck Off<br /> </example> <note type="warning"> The <directive>CacheExpiryCheck</directive> directive is currently <em>not</em> implemented. </note> </usage> </directivesynopsis> <directivesynopsis> <name>CacheMinFileSize</name> <description>The minimum size (in bytes) of a document to be placed in the Loading Loading @@ -230,118 +161,4 @@ cache</description> </usage> </directivesynopsis> <directivesynopsis> <name>CacheTimeMargin</name> <description>The minimum time margin to cache a document</description> <syntax>CacheTimeMargin <var>?</var></syntax> <default>CacheTimeMargin ?</default> <contextlist><context>server config</context><context>virtual host</context> </contextlist> <usage> <p>More detail will be added here, when the function is implemented.</p> <example> CacheTimeMargin X </example> <note type="warning"> The <directive>CacheTimeMargin</directive> directive is currently <em>not</em> implemented. </note> </usage> </directivesynopsis> <directivesynopsis> <name>CacheGcDaily</name> <description>The recurring time each day for garbage collection to be run. (24 hour clock)</description> <syntax>CacheGcDaily <var>time</var></syntax> <default>CacheGcDaily ?</default> <contextlist><context>server config</context><context>virtual host</context> </contextlist> <usage> <p>More detail will be added here, when the function is implemented.</p> <example> CacheGcDaily 23:59 </example> <note type="warning"> The <directive>CacheGcDaily</directive> directive is currently <em>not</em> implemented. </note> </usage> </directivesynopsis> <directivesynopsis> <name>CacheGcUnused</name> <description>The time to retain unreferenced cached files that match a URL.</description> <syntax>CacheGcUnused <var>hours</var> <var>url-string</var></syntax> <default>CacheGcUnused ?</default> <contextlist><context>server config</context><context>virtual host</context> </contextlist> <usage> <p>More detail will be added here, when the function is implemented.</p> <example> CacheGcUnused 12 /local_images </example> <note type="warning"> The <directive>CacheGcUnused</directive> directive is currently <em>not</em> implemented. </note> </usage> </directivesynopsis> <directivesynopsis> <name>CacheGcClean</name> <description>The time to retain unchanged cached files that match a URL</description> <syntax>CacheGcClean <var>hours</var> <var>url-string</var></syntax> <default>CacheGcClean ?</default> <contextlist><context>server config</context><context>virtual host</context> </contextlist> <usage> <p>More detail will be added here, when the function is implemented.</p> <example> CacheGcClean 12 /daily_scripts </example> <note type="warning"> The <directive>CacheGcClean</directive> directive is currently <em>not</em> implemented. </note> </usage> </directivesynopsis> <directivesynopsis> <name>CacheGcMemUsage</name> <description>The maximum kilobytes of memory used for garbage collection</description> <syntax>CacheGcMemUsage <var>KBytes</var></syntax> <default>CacheGcMemUsage ?</default> <contextlist><context>server config</context><context>virtual host</context> </contextlist> <usage> <p>More detail will be added here, when the function is implemented.</p> <example> CacheGcMemUsage 16 </example> <note type="warning"> The <directive>CacheGcMemUsage</directive> directive is currently <em>not</em> implemented. </note> </usage> </directivesynopsis> </modulesynopsis> modules/experimental/mod_disk_cache.c +1 −101 Original line number Diff line number Diff line Loading @@ -82,26 +82,14 @@ typedef struct disk_cache_object { #define DEFAULT_DIRLENGTH 2 #define DEFAULT_MIN_FILE_SIZE 1 #define DEFAULT_MAX_FILE_SIZE 1000000 #define DEFAULT_CACHE_SIZE 1000000 typedef struct { const char* cache_root; apr_size_t cache_root_len; off_t space; /* Maximum cache size (in 1024 bytes) */ apr_time_t maxexpire; /* Maximum time to keep cached files in msecs */ apr_time_t defaultexpire; /* default time to keep cached file in msecs */ double lmfactor; /* factor for estimating expires date */ apr_time_t gcinterval; /* garbage collection interval, in msec */ int dirlevels; /* Number of levels of subdirectories */ int dirlength; /* Length of subdirectory names */ int expirychk; /* true if expiry time is observed for cached files */ apr_size_t minfs; /* minumum file size for cached files */ apr_size_t maxfs; /* maximum file size for cached files */ apr_time_t mintm; /* minimum time margin for caching files */ /* dgc_time_t gcdt; time of day for daily garbage collection */ apr_array_header_t *gcclnun; /* gc_retain_t entries for unused files */ apr_array_header_t *gcclean; /* gc_retain_t entries for all files */ int maxgcmem; /* maximum memory used by garbage collection */ } disk_cache_conf; module AP_MODULE_DECLARE_DATA disk_cache_module; Loading Loading @@ -754,10 +742,8 @@ static void *create_config(apr_pool_t *p, server_rec *s) /* XXX: Set default values */ conf->dirlevels = DEFAULT_DIRLEVELS; conf->dirlength = DEFAULT_DIRLENGTH; conf->space = DEFAULT_CACHE_SIZE; conf->maxfs = DEFAULT_MAX_FILE_SIZE; conf->minfs = DEFAULT_MIN_FILE_SIZE; conf->expirychk = 1; conf->cache_root = NULL; conf->cache_root_len = 0; Loading @@ -779,24 +765,7 @@ static const char return NULL; } static const char *set_cache_size(cmd_parms *parms, void *in_struct_ptr, const char *arg) { disk_cache_conf *conf = ap_get_module_config(parms->server->module_config, &disk_cache_module); conf->space = atoi(arg); return NULL; } static const char *set_cache_gcint(cmd_parms *parms, void *in_struct_ptr, const char *arg) { /* disk_cache_conf *conf = ap_get_module_config(parms->server->module_config, &disk_cache_module); */ /* XXX */ return NULL; } /* * Consider eliminating the next two directives in favor of * Ian's prime number hash... Loading Loading @@ -830,15 +799,7 @@ static const char conf->dirlength = val; return NULL; } static const char *set_cache_exchk(cmd_parms *parms, void *in_struct_ptr, int flag) { disk_cache_conf *conf = ap_get_module_config(parms->server->module_config, &disk_cache_module); conf->expirychk = flag; return NULL; } static const char *set_cache_minfs(cmd_parms *parms, void *in_struct_ptr, const char *arg) { Loading @@ -855,80 +816,19 @@ static const char conf->maxfs = atoi(arg); return NULL; } static const char *set_cache_minetm(cmd_parms *parms, void *in_struct_ptr, const char *arg) { /* XXX disk_cache_conf *conf = ap_get_module_config(parms->server->module_config, &disk_cache_module); */ return NULL; } static const char *set_cache_gctime(cmd_parms *parms, void *in_struct_ptr, const char *arg) { /* XXX disk_cache_conf *conf = ap_get_module_config(parms->server->module_config, &disk_cache_module); */ return NULL; } static const char *add_cache_gcclean(cmd_parms *parms, void *in_struct_ptr, const char *arg, const char *arg1) { /* XXX disk_cache_conf *conf = ap_get_module_config(parms->server->module_config, &disk_cache_module); */ return NULL; } static const char *add_cache_gcclnun(cmd_parms *parms, void *in_struct_ptr, const char *arg, const char *arg1) { /* XXX disk_cache_conf *conf = ap_get_module_config(parms->server->module_config, &disk_cache_module); */ return NULL; } static const char *set_cache_maxgcmem(cmd_parms *parms, void *in_struct_ptr, const char *arg) { /* XXX disk_cache_conf *conf = ap_get_module_config(parms->server->module_config, &disk_cache_module); */ return NULL; } static const command_rec disk_cache_cmds[] = { AP_INIT_TAKE1("CacheRoot", set_cache_root, NULL, RSRC_CONF, "The directory to store cache files"), AP_INIT_TAKE1("CacheSize", set_cache_size, NULL, RSRC_CONF, "The maximum disk space used by the cache in KB"), AP_INIT_TAKE1("CacheGcInterval", set_cache_gcint, NULL, RSRC_CONF, "The interval between garbage collections, in hours"), AP_INIT_TAKE1("CacheDirLevels", set_cache_dirlevels, NULL, RSRC_CONF, "The number of levels of subdirectories in the cache"), AP_INIT_TAKE1("CacheDirLength", set_cache_dirlength, NULL, RSRC_CONF, "The number of characters in subdirectory names"), AP_INIT_FLAG("CacheExpiryCheck", set_cache_exchk, NULL, RSRC_CONF, "on if cache observes Expires date when seeking files"), AP_INIT_TAKE1("CacheMinFileSize", set_cache_minfs, NULL, RSRC_CONF, "The minimum file size to cache a document"), AP_INIT_TAKE1("CacheMaxFileSize", set_cache_maxfs, NULL, RSRC_CONF, "The maximum file size to cache a document"), AP_INIT_TAKE1("CacheTimeMargin", set_cache_minetm, NULL, RSRC_CONF, "The minimum time margin to cache a document"), AP_INIT_TAKE1("CacheGcDaily", set_cache_gctime, NULL, RSRC_CONF, "The time of day for garbage collection (24 hour clock)"), AP_INIT_TAKE2("CacheGcUnused", add_cache_gcclnun, NULL, RSRC_CONF, "The time in hours to retain unused file that match a url"), AP_INIT_TAKE2("CacheGcClean", add_cache_gcclean, NULL, RSRC_CONF, "The time in hours to retain unchanged files that match a url"), AP_INIT_TAKE1("CacheGcMemUsage", set_cache_maxgcmem, NULL, RSRC_CONF, "The maximum kilobytes of memory used for garbage collection"), {NULL} }; Loading Loading
CHANGES +4 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,10 @@ Changes with Apache 2.1.0-dev [Remove entries to the current 2.0 section below, when backported] *) mod_disk_cache: Remove a bunch of non-implemented garbage collection and cache size directives that are now available through htcacheclean. [Justin Erenkrantz] *) Add htcacheclean to support/ for assistance with mod_disk_cache. [Andreas Steinmetz] Loading
docs/manual/mod/mod_disk_cache.xml +1 −184 Original line number Diff line number Diff line <?xml version="1.0"?> <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> <?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?> <!-- $Revision: 1.10 $ --> <!-- $Revision: 1.11 $ --> <!-- Copyright 2002-2004 The Apache Software Foundation Loading Loading @@ -70,52 +70,6 @@ stored</description> </usage> </directivesynopsis> <directivesynopsis> <name>CacheSize</name> <description>The maximum amount of disk space that will be used by the cache in KBytes</description> <syntax>CacheSize <var>KBytes</var></syntax> <default>CacheSize 1000000</default> <contextlist><context>server config</context><context>virtual host</context> </contextlist> <usage> <p>The <directive>CacheSize</directive> directive sets the desired disk space usage of the cache, in KBytes (1024-byte units). This directive does not put a hard limit on the size of the cache. The garbage collector will delete files until the usage is at or below the settings. Always use a value that is lower than the available disk space.</p> <example> CacheSize 5000000 </example> </usage> </directivesynopsis> <directivesynopsis> <name>CacheGcInterval</name> <description>The interval between garbage collection attempts.</description> <syntax>CacheGcInterval <var>hours</var></syntax> <contextlist><context>server config</context><context>virtual host</context> </contextlist> <usage> <p>The <directive>CacheGcInterval</directive> directive specifies the number of hours to wait between attempts to free up disk space.</p> <p>More detail will be added here, when the function is implemented.</p> <example> CacheGcInterval 24<br /> </example> <note type="warning"> The <directive>CacheGcInterval</directive> directive is currently <em>not</em> implemented. </note> </usage> </directivesynopsis> <directivesynopsis> <name>CacheDirLevels</name> <description>The number of levels of subdirectories in the Loading Loading @@ -167,29 +121,6 @@ cache.</description> </usage> </directivesynopsis> <directivesynopsis> <name>CacheExpiryCheck</name> <description>Indicates if the cache observes Expires dates when seeking files</description> <syntax>CacheExpiryCheck On|Off</syntax> <default>CacheExpiryCheck On</default> <contextlist><context>server config</context><context>virtual host</context> </contextlist> <usage> <p>More detail will be added here, when the function is implemented.</p> <example> CacheExpiryCheck Off<br /> </example> <note type="warning"> The <directive>CacheExpiryCheck</directive> directive is currently <em>not</em> implemented. </note> </usage> </directivesynopsis> <directivesynopsis> <name>CacheMinFileSize</name> <description>The minimum size (in bytes) of a document to be placed in the Loading Loading @@ -230,118 +161,4 @@ cache</description> </usage> </directivesynopsis> <directivesynopsis> <name>CacheTimeMargin</name> <description>The minimum time margin to cache a document</description> <syntax>CacheTimeMargin <var>?</var></syntax> <default>CacheTimeMargin ?</default> <contextlist><context>server config</context><context>virtual host</context> </contextlist> <usage> <p>More detail will be added here, when the function is implemented.</p> <example> CacheTimeMargin X </example> <note type="warning"> The <directive>CacheTimeMargin</directive> directive is currently <em>not</em> implemented. </note> </usage> </directivesynopsis> <directivesynopsis> <name>CacheGcDaily</name> <description>The recurring time each day for garbage collection to be run. (24 hour clock)</description> <syntax>CacheGcDaily <var>time</var></syntax> <default>CacheGcDaily ?</default> <contextlist><context>server config</context><context>virtual host</context> </contextlist> <usage> <p>More detail will be added here, when the function is implemented.</p> <example> CacheGcDaily 23:59 </example> <note type="warning"> The <directive>CacheGcDaily</directive> directive is currently <em>not</em> implemented. </note> </usage> </directivesynopsis> <directivesynopsis> <name>CacheGcUnused</name> <description>The time to retain unreferenced cached files that match a URL.</description> <syntax>CacheGcUnused <var>hours</var> <var>url-string</var></syntax> <default>CacheGcUnused ?</default> <contextlist><context>server config</context><context>virtual host</context> </contextlist> <usage> <p>More detail will be added here, when the function is implemented.</p> <example> CacheGcUnused 12 /local_images </example> <note type="warning"> The <directive>CacheGcUnused</directive> directive is currently <em>not</em> implemented. </note> </usage> </directivesynopsis> <directivesynopsis> <name>CacheGcClean</name> <description>The time to retain unchanged cached files that match a URL</description> <syntax>CacheGcClean <var>hours</var> <var>url-string</var></syntax> <default>CacheGcClean ?</default> <contextlist><context>server config</context><context>virtual host</context> </contextlist> <usage> <p>More detail will be added here, when the function is implemented.</p> <example> CacheGcClean 12 /daily_scripts </example> <note type="warning"> The <directive>CacheGcClean</directive> directive is currently <em>not</em> implemented. </note> </usage> </directivesynopsis> <directivesynopsis> <name>CacheGcMemUsage</name> <description>The maximum kilobytes of memory used for garbage collection</description> <syntax>CacheGcMemUsage <var>KBytes</var></syntax> <default>CacheGcMemUsage ?</default> <contextlist><context>server config</context><context>virtual host</context> </contextlist> <usage> <p>More detail will be added here, when the function is implemented.</p> <example> CacheGcMemUsage 16 </example> <note type="warning"> The <directive>CacheGcMemUsage</directive> directive is currently <em>not</em> implemented. </note> </usage> </directivesynopsis> </modulesynopsis>
modules/experimental/mod_disk_cache.c +1 −101 Original line number Diff line number Diff line Loading @@ -82,26 +82,14 @@ typedef struct disk_cache_object { #define DEFAULT_DIRLENGTH 2 #define DEFAULT_MIN_FILE_SIZE 1 #define DEFAULT_MAX_FILE_SIZE 1000000 #define DEFAULT_CACHE_SIZE 1000000 typedef struct { const char* cache_root; apr_size_t cache_root_len; off_t space; /* Maximum cache size (in 1024 bytes) */ apr_time_t maxexpire; /* Maximum time to keep cached files in msecs */ apr_time_t defaultexpire; /* default time to keep cached file in msecs */ double lmfactor; /* factor for estimating expires date */ apr_time_t gcinterval; /* garbage collection interval, in msec */ int dirlevels; /* Number of levels of subdirectories */ int dirlength; /* Length of subdirectory names */ int expirychk; /* true if expiry time is observed for cached files */ apr_size_t minfs; /* minumum file size for cached files */ apr_size_t maxfs; /* maximum file size for cached files */ apr_time_t mintm; /* minimum time margin for caching files */ /* dgc_time_t gcdt; time of day for daily garbage collection */ apr_array_header_t *gcclnun; /* gc_retain_t entries for unused files */ apr_array_header_t *gcclean; /* gc_retain_t entries for all files */ int maxgcmem; /* maximum memory used by garbage collection */ } disk_cache_conf; module AP_MODULE_DECLARE_DATA disk_cache_module; Loading Loading @@ -754,10 +742,8 @@ static void *create_config(apr_pool_t *p, server_rec *s) /* XXX: Set default values */ conf->dirlevels = DEFAULT_DIRLEVELS; conf->dirlength = DEFAULT_DIRLENGTH; conf->space = DEFAULT_CACHE_SIZE; conf->maxfs = DEFAULT_MAX_FILE_SIZE; conf->minfs = DEFAULT_MIN_FILE_SIZE; conf->expirychk = 1; conf->cache_root = NULL; conf->cache_root_len = 0; Loading @@ -779,24 +765,7 @@ static const char return NULL; } static const char *set_cache_size(cmd_parms *parms, void *in_struct_ptr, const char *arg) { disk_cache_conf *conf = ap_get_module_config(parms->server->module_config, &disk_cache_module); conf->space = atoi(arg); return NULL; } static const char *set_cache_gcint(cmd_parms *parms, void *in_struct_ptr, const char *arg) { /* disk_cache_conf *conf = ap_get_module_config(parms->server->module_config, &disk_cache_module); */ /* XXX */ return NULL; } /* * Consider eliminating the next two directives in favor of * Ian's prime number hash... Loading Loading @@ -830,15 +799,7 @@ static const char conf->dirlength = val; return NULL; } static const char *set_cache_exchk(cmd_parms *parms, void *in_struct_ptr, int flag) { disk_cache_conf *conf = ap_get_module_config(parms->server->module_config, &disk_cache_module); conf->expirychk = flag; return NULL; } static const char *set_cache_minfs(cmd_parms *parms, void *in_struct_ptr, const char *arg) { Loading @@ -855,80 +816,19 @@ static const char conf->maxfs = atoi(arg); return NULL; } static const char *set_cache_minetm(cmd_parms *parms, void *in_struct_ptr, const char *arg) { /* XXX disk_cache_conf *conf = ap_get_module_config(parms->server->module_config, &disk_cache_module); */ return NULL; } static const char *set_cache_gctime(cmd_parms *parms, void *in_struct_ptr, const char *arg) { /* XXX disk_cache_conf *conf = ap_get_module_config(parms->server->module_config, &disk_cache_module); */ return NULL; } static const char *add_cache_gcclean(cmd_parms *parms, void *in_struct_ptr, const char *arg, const char *arg1) { /* XXX disk_cache_conf *conf = ap_get_module_config(parms->server->module_config, &disk_cache_module); */ return NULL; } static const char *add_cache_gcclnun(cmd_parms *parms, void *in_struct_ptr, const char *arg, const char *arg1) { /* XXX disk_cache_conf *conf = ap_get_module_config(parms->server->module_config, &disk_cache_module); */ return NULL; } static const char *set_cache_maxgcmem(cmd_parms *parms, void *in_struct_ptr, const char *arg) { /* XXX disk_cache_conf *conf = ap_get_module_config(parms->server->module_config, &disk_cache_module); */ return NULL; } static const command_rec disk_cache_cmds[] = { AP_INIT_TAKE1("CacheRoot", set_cache_root, NULL, RSRC_CONF, "The directory to store cache files"), AP_INIT_TAKE1("CacheSize", set_cache_size, NULL, RSRC_CONF, "The maximum disk space used by the cache in KB"), AP_INIT_TAKE1("CacheGcInterval", set_cache_gcint, NULL, RSRC_CONF, "The interval between garbage collections, in hours"), AP_INIT_TAKE1("CacheDirLevels", set_cache_dirlevels, NULL, RSRC_CONF, "The number of levels of subdirectories in the cache"), AP_INIT_TAKE1("CacheDirLength", set_cache_dirlength, NULL, RSRC_CONF, "The number of characters in subdirectory names"), AP_INIT_FLAG("CacheExpiryCheck", set_cache_exchk, NULL, RSRC_CONF, "on if cache observes Expires date when seeking files"), AP_INIT_TAKE1("CacheMinFileSize", set_cache_minfs, NULL, RSRC_CONF, "The minimum file size to cache a document"), AP_INIT_TAKE1("CacheMaxFileSize", set_cache_maxfs, NULL, RSRC_CONF, "The maximum file size to cache a document"), AP_INIT_TAKE1("CacheTimeMargin", set_cache_minetm, NULL, RSRC_CONF, "The minimum time margin to cache a document"), AP_INIT_TAKE1("CacheGcDaily", set_cache_gctime, NULL, RSRC_CONF, "The time of day for garbage collection (24 hour clock)"), AP_INIT_TAKE2("CacheGcUnused", add_cache_gcclnun, NULL, RSRC_CONF, "The time in hours to retain unused file that match a url"), AP_INIT_TAKE2("CacheGcClean", add_cache_gcclean, NULL, RSRC_CONF, "The time in hours to retain unchanged files that match a url"), AP_INIT_TAKE1("CacheGcMemUsage", set_cache_maxgcmem, NULL, RSRC_CONF, "The maximum kilobytes of memory used for garbage collection"), {NULL} }; Loading