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>
This commit is contained in:
Lukas Fleischer 2014-02-20 20:59:22 +01:00 committed by Jason A. Donenfeld
parent 8033dc01f4
commit 6ceba453a2
2 changed files with 15 additions and 9 deletions

View File

@ -343,7 +343,7 @@ int cache_process(int size, const char *path, const char *key, int ttl,
int result; int result;
/* If the cache is disabled, just generate the content */ /* If the cache is disabled, just generate the content */
if (size <= 0) { if (size <= 0 || ttl == 0) {
fn(); fn();
return 0; return 0;
} }

View File

@ -61,37 +61,43 @@ cache-root::
cache-static-ttl:: cache-static-ttl::
Number which specifies the time-to-live, in minutes, for the cached Number which specifies the time-to-live, in minutes, for the cached
version of repository pages accessed with a fixed SHA1. Negative 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:: cache-dynamic-ttl::
Number which specifies the time-to-live, in minutes, for the cached Number which specifies the time-to-live, in minutes, for the cached
version of repository pages accessed without a fixed SHA1. Negative 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:: cache-repo-ttl::
Number which specifies the time-to-live, in minutes, for the cached Number which specifies the time-to-live, in minutes, for the cached
version of the repository summary page. Negative values have infinite 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:: cache-root-ttl::
Number which specifies the time-to-live, in minutes, for the cached Number which specifies the time-to-live, in minutes, for the cached
version of the repository index page. Negative values have infinite 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:: cache-scanrc-ttl::
Number which specifies the time-to-live, in minutes, for the result Number which specifies the time-to-live, in minutes, for the result
of scanning a path for git repositories. Negative values have infinite 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:: cache-about-ttl::
Number which specifies the time-to-live, in minutes, for the cached Number which specifies the time-to-live, in minutes, for the cached
version of the repository about page. Negative values have infinite 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:: cache-snapshot-ttl::
Number which specifies the time-to-live, in minutes, for the cached Number which specifies the time-to-live, in minutes, for the cached
version of snapshots. Negative values have infinite ttl. Default version of snapshots. Negative values have infinite ttl, zero means
value: "5". that the cache is disable for this type of pages. Default value: "5".
cache-size:: cache-size::
The maximum number of entries in the cgit cache. Default value: "0" The maximum number of entries in the cgit cache. Default value: "0"