
In this week’s episode of Two-Minute Tech Tuesday, we're explaining how the total lifetime of a cached object is calculated.
In this week’s episode of Two-Minute Tech Tuesday, we're explaining how the total lifetime of a cached object is calculated.
Over time, the most popular content we’ve created relates to hands-on Varnish use and relevant dos and don’ts. Naturally, we continue to create more content about this because our raison d’être is to help Varnish users get the maximum performance and efficiency they can from their Varnish setups.
Let’s get down to business.
Varnish is a caching server, and a great one at that, that much we already know. But what about the content you don't want to cache? For example, those shopping cart requests and other completely uncacheable API calls?
We can of course handle it, but we've got to be wary of the sirens of the cargo cult because you will often see something like this on the internet:
sub vcl_backend_response {
# check if the backend response header named
# "cache-control" contains the word "private"
if (beresp.http.cache-control ~ "private") {
# if so, don't cache by limiting the Time-To-Live
# period to 0 second
set beresp.ttl = 0s;
}
}
This is both pretty intuitive, and also very wrong. In this post, we'll explore why it's a bad idea, how to do better, and along the way, we'll try to shine some light on a couple of lesser known features of Varnish.
If you’re familiar at all with Varnish, you know it improves content delivery performance by storing a copy of your content in cache, and every request thereafter is fulfilled by the cached content.
The Varnish blog is where our team writes about all things related to Varnish Cache and Varnish Software...or simply vents.
0 Comments