<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<pre></pre>
> Arguably, if you use Varnish to cache responses, you might as well
<div>> always tell your backend not to serve from cache. Because if a soft</div>
<div>> purge moves you inside the grace period, there's no guarantee that the</div>
<div>> next hit will happen before the object leaves the grace period. At</div>
> this point this will no longer trigger a background fetch...
<pre>Well, the caching in the backend is not on the same level as the Varnish cache. In Varnish, a single request results in a single object to cache. In the backend, a single request can result in hundreds or thousands of separate lookups (some involving separate http calls to other services), each cachable with their own unique key. And most of these objects are reused from the cache for other requests as well. And skipping that internal cache completely, letting the backend do all these lookups and sub-requests every single time a request comes in to the backend, that would be terrible for performance. So we really only want to skip this internal cache in special circumstances.</pre>
</div>
</body>
</html>