List for cgit developers and users
 help / color / mirror / Atom feed
From: cgit at cryptocrack.de (Lukas Fleischer)
Subject: [PATCH] Skip cache slot when time-to-live is zero
Date: Thu, 20 Feb 2014 20:59:22 +0100	[thread overview]
Message-ID: <1392926362-8162-1-git-send-email-cgit@cryptocrack.de> (raw)
In-Reply-To: <CAHmME9rL4YkrKGpRFb4vx7MPTeGgf=1qrc_9oaGb6PKfoqGiwg@mail.gmail.com>

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 at cryptocrack.de>
---
 cache.c      |  2 +-
 cgitrc.5.txt | 22 ++++++++++++++--------
 2 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/cache.c b/cache.c
index 9e7eeb0..801e63f 100644
--- a/cache.c
+++ b/cache.c
@@ -343,7 +343,7 @@ int cache_process(int size, const char *path, const char *key, int ttl,
 	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 a437fc4..7158c10 100644
--- a/cgitrc.5.txt
+++ b/cgitrc.5.txt
@@ -61,37 +61,43 @@ cache-root::
 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"
-- 
1.9.0



  reply	other threads:[~2014-02-20 19:59 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-05  9:46 [PATCH 0/2] Add an option to cache snapshots cgit
2014-02-05  9:46 ` [PATCH 1/2] Skip cache slot when time-to-live is zero cgit
2014-02-06 19:52   ` Jason
2014-02-06 21:07     ` cgit
     [not found]       ` <CAHmME9q805o8hczd1MW1Mw+DzJzRmE-5C9i6CB+cX2um_R=+yA@mail.gmail.com>
2014-02-08 13:41         ` Jason
2014-02-08 13:45           ` cgit
2014-02-20 18:58             ` Jason
2014-02-20 19:59               ` cgit [this message]
2014-02-20 20:03                 ` [PATCH] " Jason
2014-02-20 20:07                 ` cgit
2014-02-21  0:37                   ` Jason
2014-02-05  9:46 ` [PATCH 2/2] Add a cache-snapshot-ttl configuration variable cgit
2014-02-05 14:44   ` Jason
2014-02-05 15:09     ` cgit
2014-02-08 13:36       ` cgit
2014-02-20 18:56         ` Jason

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1392926362-8162-1-git-send-email-cgit@cryptocrack.de \
    --to=cgit@lists.zx2c4.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).