Author: Lukas Fleischer <cgit@cryptocrack.de>
Skip cache slot when time-to-live is zero If time-to-live is set to zero, we don't need to regenerate the cache slots on every request. Instead, just skip the caching process and immediately provide the dynamically generated version of the page. Setting time-to-live to zero is useful when you want to disable caching for certain pages. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
cache.c | 2 +- cgitrc.5.txt | 22 ++++++++++++++--------
diff --git a/cache.c b/cache.c index 9e7eeb0668dab1e9cb9cee0b231c2de1eef134fb..801e63fd9d40c1525de5c18ca5adf61b5adbd220 100644 --- a/cache.c +++ b/cache.c @@ -343,7 +343,7 @@ struct cache_slot slot; int result; /* If the cache is disabled, just generate the content */ - if (size <= 0) { + if (size <= 0 || ttl == 0) { fn(); return 0; } diff --git a/cgitrc.5.txt b/cgitrc.5.txt index a437fc4116c1217b2c38ab882d4d2172346c06c7..7158c10559ade0cba278ce1c3d375138aa0dd85d 100644 --- a/cgitrc.5.txt +++ b/cgitrc.5.txt @@ -61,37 +61,43 @@ cache-static-ttl:: Number which specifies the time-to-live, in minutes, for the cached version of repository pages accessed with a fixed SHA1. Negative - values have infinite ttl. Default value: -1". + values have infinite ttl, zero means that the cache is disabled for + this type of pages. Default value: -1". cache-dynamic-ttl:: Number which specifies the time-to-live, in minutes, for the cached version of repository pages accessed without a fixed SHA1. Negative - values have infinite ttl. Default value: "5". + values have infinite ttl, zero means that the cache is disabled for this + type of pages. Default value: "5". cache-repo-ttl:: Number which specifies the time-to-live, in minutes, for the cached version of the repository summary page. Negative values have infinite - ttl. Default value: "5". + ttl, zero means that the cache is disabled for this type of pages. + Default value: "5". cache-root-ttl:: Number which specifies the time-to-live, in minutes, for the cached version of the repository index page. Negative values have infinite - ttl. Default value: "5". + ttl, zero means that the cache is disabled for this type of pages. + Default value: "5". cache-scanrc-ttl:: Number which specifies the time-to-live, in minutes, for the result of scanning a path for git repositories. Negative values have infinite - ttl. Default value: "15". + ttl, zero means that the cache is disable for this type of pages. + Default value: "15". cache-about-ttl:: Number which specifies the time-to-live, in minutes, for the cached version of the repository about page. Negative values have infinite - ttl. Default value: "15". + ttl, zero means that the cache is disable for this type of pages. + Default value: "15". cache-snapshot-ttl:: Number which specifies the time-to-live, in minutes, for the cached - version of snapshots. Negative values have infinite ttl. Default - value: "5". + version of snapshots. Negative values have infinite ttl, zero means + that the cache is disable for this type of pages. Default value: "5". cache-size:: The maximum number of entries in the cgit cache. Default value: "0"