“The solution to caching GraphQL is to normalize the hierarchical response into a flat collection of records. Relay implements this cache as a map from IDs to records. Each record is a map from field names to field values. Records may also link to other records (allowing it to describe a cyclic graph…”— Facebook Engineering, facebook.github.ioTagged: Cache, Performance, Progressive Web Apps, Graph QL, Relay
“A few times in the last two years we’ve invalidated large swaths of cache or restarted memcached processes, and observed that our aggregate response time increases by 30-75%, depending on the amount of invalidation and the time of day. We then see caches refill and response times return to normal wi…”— Noah Lorang, signalvnoise.comTagged: Cache, Performance, Basecamp
“A cache’s eviction policy tries to predict which entries are most likely to be used again in the near future, thereby maximizing the hit ratio. The Least Recently Used (LRU) policy is perhaps the most popular due to its simplicity, good runtime performance, and a decent hit rate in common workloads.”— High Scalability, highscalability.comTagged: Cache, Eviction Policy, LRU, Performance, Web
“What is considered slow depends on your requirements. But when something becomes slow it's a candidate for caching.”— High Scalability, highscalability.comTagged: MYSQL, Memcache, Cache
“Hand-in-hand with browser caching is cache busting. Say the browser has the CSS file cached for one year (not uncommon). Then you want to change the CSS. You need a strategy for breaking the cache and forcing the browser to download a new copy of the CSS.”— Chris Coyier, css-tricks.comTagged: CSS, Cache Busting, Frontend
“A web cache (or HTTP cache) is an information technology for the temporary storage (caching) of web documents, such as HTML pages and images, to reduce bandwidth usage, server load, and perceived lag.”— Wikipedia, en.wikipedia.orgTagged: Cache, HTTP
“Server Push enables websites and APIs to speculatively deliver content to the web browser before the browser sends a request for it. This behavior is opportunistic, since in some cases, the content might already be in the client’s cache or not required at all.”— Vlad Krasnov, blog.cloudflare.comTagged: HTTP2, CloudFlare, The Future of the Web
“Intelligent content caching is one of the most effective ways to improve the experience for your site's visitors. Caching, or temporarily storing content from previous requests, is part of the core content delivery strategy implemented within the HTTP protocol. Components throughout the delivery pat…”— Justin Ellingwood, digitalocean.comTagged: Cache, Server Optimization, Tutorials
“Using the proxy_cache directive, we can specify that the backcache cache zone should be used for this context. Nginx will check here for a valid entry before passing to the backend.”— Justin Ellingwood, digitalocean.comTagged: Cache, Nginx, Tutorial
“An ETag (entity tag) is an HTTP response header returned by an HTTP/1.1 compliant web server used to determine change in content of a resource at a given URL. The value of the header is an opaque string representing the state of the resource at the time the response was generated.”— Microsoft Developer Network, msdn.microsoft.comTagged: Cache, Microsoft, HTTP, Response Headers
“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.comTagged: Cache, Google, Server Optimization
“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.comTagged: Cache, Rails, Performance, Russian Doll Caching
“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.comTagged: Cache, Russian Doll Caching, Key Based Cache
“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.comTagged: Cache, Evolution of Databases, MYSQL, NoSQL, Performance
“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.techTagged: GoLang, Google, Cache, Scalability
“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.comTagged: Lists, Cache, tips, Development
“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.ioTagged: Twitter, Development, Cache, Tradeoffs
“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.comTagged: Cache, Expiration
“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.comTagged: Cache, Hacking, Security
“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.ioTagged: Cache, Open Source, Node JS, Redis
“A query that used to take over an hour can run in seconds on the cache.”— Periscope Data, periscopedata.comTagged: Customer Data, Amazon Redshift, Cache, Scalability
“Everyone tries to implement a cache at some point in their app’s lifecycle, and this is ours.”— Spotify, github.comTagged: Cache, iOS, Open Source
“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.comTagged: Cache, Strategies, Development
“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.comTagged: HTTP2, Cache