“Instead of mutating the data structures immediately, the updates are written to a log and replayed in asynchronous batches. This same idea can be applied to a cache by performing the hash table operation, recording the operation to a buffer, and scheduling the replay activity against the policy when…”— Todd Hoff, highscalability.com
“I am Two Queues; I add entries to an LRU cache as they are accessed. If an entry is accessed again, I move them to second, larger, LRU cache.”— Ahmed Ali, javalandscape.blogspot.com
“So if you have the kind of site where Google juice is lifeblood, then your SEO guys may tell you that a read-through cache is not good enough.”— Martin Kleppmann, martin.kleppmann.com
“Varnish can do a lot of things, but it's mostly known as a reverse HTTP proxy. It brands itself as an HTTP accelerator, making HTTP requests faster by caching them. It can also serve as a TCP load balancer (using pipe in the VCL code, more on that later), an HTTP load balancer or a generic reverse p…”— Mattias Geniar, ma.ttias.be
“HTTP/2 Push allows websites to save loading time by skipping network round-trips. Because it reduces the effects of latency so well, it may become a viable alternative to CDNs for websites with moderate traffic. But in order to save resources when doing HTTP/2 Push, a web server should know which as…”— Nejc Vukovic, shimmercat.com
“Upon fetching a cache entry, the Cache verifies the cached element availability and loads the underlying resource on our behalf. The application uses the cache as the system of record and the cache is able to auto-populate on demand.”— Vlad Mihalcea, vladmihalcea.com
“Everyone tries to implement a cache at some point in their app’s lifecycle, and this is ours.”— Spotify, github.com
“A query that used to take over an hour can run in seconds on the cache.”— Periscope Data, periscopedata.com
“One of the most difficult parts about caching is managing dependencies between cache entries. In order to reap the benefits of caching, you typically have to denormalize the data that's stored in the cache. Since data from child items is then stored within parent items, it can be challenging to figu…”— Nate Kohari, nkohari.github.io
“I’ve been doing a little bit of research into ways to misuse browser history and cache and came across a very simple technique for tracking users without the need for cookies.”— Josh Duck, joshduck.com
“Expiration is ideal when you can get away with it. Unfortunately, there are many situations where it doesn’t make sense, and this is especially true for heavily dynamic web apps where changes in resource state can occur frequently and unpredictably. The validation model is designed to support these…”— Ryan Tomayko, 2ndscale.com
“The lifeline of caching is performance. It is sometimes surprising to see how often people would take the tradeoff of slightly incorrect data in exchange of fast data access. Because of its economy, caching is also the answer to scalability – intended as an optimization, plenty of systems will colla…”— Yao Yue, twitter.github.io
“It's a lot cheaper to merge cached lists than build them from scratch. This delays the crushing read/write bottleneck at the database. But you have to write the code.”— Apathy, highscalability.com
“Finally, we sped up our application from more than 2.5 seconds to less than 250 milliseconds for longest request. These times occur just in our use case. We are confident that for a larger number of writes or longer eviction period, access to standard cache can take much more time, but with bigcache…”— Łukasz Drumiński, allegro.tech
“The cache key is the fluid part and the cache content is the fixed part. A given key should always return the same content. You never update the content after it’s been written and you never try to expire it either.”— David Heinemeier Hansson, signalvnoise.com
“Also, I very much doubt that your caching layers are 100% efficient. I’ll bet money you have plenty of data that are cached and never read again before eviction. I’ll bet more money you don’t even track that. That doesn’t mean you’re a bad person. It means that caching is often more trouble than it’…”— Carlos Bueno, blog.memsql.com
“The technique of nesting fragment caches to maximize cache hits is known as russian doll caching. By nesting fragment caches, it ensures that caches can be reused even when content changes. When a change occurs to the top-most fragment cache, only that cache must be expired. Every nested cache of th…”— Kevin Faustino, blog.remarkablelabs.com
“The best request is a request that does not need to communicate with the server: a local copy of the response allows us to eliminate all network latency and avoid data charges for the data transfer. To achieve this, the HTTP specification allows the server to return a number of different Cache-Contr…”— Google Developers, developers.google.com
“Fetching something over the network is both slow and expensive: large responses require many roundtrips between the client and server, which delays when they are available and can be processed by the browser, and also incurs data costs for the visitor. As a result, the ability to cache and reuse pre…”— Google Developers, developers.google.com