Unbelievably insightful! I cannot imagine how dumb I could be for many years working on Web and did not take a moment to fully understand the nuts and bolts of how things work in it! I am really glad that I watched this video the 2nd time now after nearly 4 months when I first watched it and missed to pay attention to the caching stuff. Thanks So So Much brother @RyanFlorence for this wonderful in-depth session.
no single comment about texture of his shirt and video compression?))) thank you Ryan for recording this video. amazin presentation and lots of stuff to learn about
I finally understood SSG and SSR in depth, thanks! And btw, I enjoyed watching the whole video. Concepts are explained in a fresh and friendly way. Cheers!
This was a really good comparison, thanks. Would love to see a video talking about how to handle personalisation / authenticated states and caching in Remix as I've always found it unrealistic to cache entire HTML pages as they almost always have a significant portion of bespoke content for a single user (product recommendations, feed, logged in states etc.). Years ago, I remember MVC frameworks allowing you to cache specific components (partials?), I wonder if Remix has support for this? I even recall CDNs supporting partial stitching but don't know much about it / how it'd work with React.
You can always cache at a lower level, like use Redis and cache a user's or shared content. I think the more dynamic a page is, the more complex caching becomes.
@@JoepKockelkorn yeah, I've come around to thinking you will just have to take the hit on rendering (both in Remix and Next), but you can cache expensive API / DB calls in redis as you suggest. Cloudflare Workers has a really powerful caches API to cache data near the user.
Hey, thanks a lot for this video. I have a question, why there's no comma between s-maxage and stale-while-revalidate? You have: "s-maxage=604800 stale-while-revalidate=3154000000". Is it a trick to make "stale-while-revalidate" a CDN only and force browser to ignore it, or is just a typo?
This also assumes CDNs will keep assets in their CDN for a year.. They won't :). Many (if not all) CDNs only serve the most used assets so they can keep their storage costs down.
Great Explanation!! One Question…, how we can make on demand revalidation like NextJS, for example if I have a CMS and u want make a request to remix app for revalidare the post in demand. How u Can doing this?
This explaination was amazing. I tried implementing the ISR with next but got some errors while deploying with AWS as ISR isnt supported yet, this would be a nice backup instead.
I did had this idea of uploading SSR generated code to CDN but backed down when I thought about cache bust not possible with HTML files. Atleast the main one index.html.
can the browser get the stale version from the cdn and request a fresh copy at the same time? then replace the stale version once it arrives? the cdn could check with origin to see if the copy it already has is still fresh?
Major CDNs (akamai is my experience) normally charge money for purging caches, so if you are a startup tight on money or have a hobby project it might not be ideal for you to automate it if your pages are dynamic.
Hello, thanks for a great video, I have a question In part 1 - th-cam.com/video/3XkU_DXcgl0/w-d-xo.html, when set the header for the "cache-control" in the code, will it work for all CDN? For example, using CloudFront or CloudFlare CDN. I mean, the "cache-control" set from the code will be received by the CDN and delivered to the browser with the same "cache-control". Looking forward to receiving support. Thanks!
This must be the best explanation of SSG and SSR I have ever heard.
Oh wow, it's probably one of the most useful videos ever recommended to me by the youtube algorithm.
Wow, best presentation I've seen on any topic in a minute. Great job Ryan
This was a fantastic explanation! My understanding of how this works was very "vague", and I now have a solid understanding, thank you!
Unbelievably insightful! I cannot imagine how dumb I could be for many years working on Web and did not take a moment to fully understand the nuts and bolts of how things work in it! I am really glad that I watched this video the 2nd time now after nearly 4 months when I first watched it and missed to pay attention to the caching stuff. Thanks So So Much brother @RyanFlorence for this wonderful in-depth session.
OMG this is the best explanation about Caching, SSG and SSR, thank you!
no single comment about texture of his shirt and video compression?))) thank you Ryan for recording this video. amazin presentation and lots of stuff to learn about
I finally understood SSG and SSR in depth, thanks! And btw, I enjoyed watching the whole video. Concepts are explained in a fresh and friendly way. Cheers!
Nice One ! I REALLY LOVED THE WAY YOU USED EMOJIS TO EXPLAIN THINGS
This is the most clear explanation I've ever heard for this topic! Thank you so much, I finally understand what all these terms mean!
one of best video on internet for web dev
This video is pure gold
Awesome men! All your videos has an extraordinary cleaver and simple way to explain things!! Fantastic!! 🙂, Cheers!
This is a very interesting approach. I like it!
gosh you're a such an expert! I really appreciate this presentation
Man, this is awesome content right there
This is a video does a great job explaining a tough concept - good job
Amazing job Ryan, well explained.
You should post more vids like this! Was super helpful.
Awesome tutorial and introduction 🙏
Great explanation Ryan. Thank you.
You have a talent for teaching
Amazing content, cleared all my doubts regarding cache. Looking forward to more videos.
This stuff, is dayymn cool. Excited!
What an amazing explanation!
Great video, love it
Thanks for a great video
This was a really good comparison, thanks. Would love to see a video talking about how to handle personalisation / authenticated states and caching in Remix as I've always found it unrealistic to cache entire HTML pages as they almost always have a significant portion of bespoke content for a single user (product recommendations, feed, logged in states etc.). Years ago, I remember MVC frameworks allowing you to cache specific components (partials?), I wonder if Remix has support for this? I even recall CDNs supporting partial stitching but don't know much about it / how it'd work with React.
You can always cache at a lower level, like use Redis and cache a user's or shared content. I think the more dynamic a page is, the more complex caching becomes.
@@JoepKockelkorn yeah, I've come around to thinking you will just have to take the hit on rendering (both in Remix and Next), but you can cache expensive API / DB calls in redis as you suggest. Cloudflare Workers has a really powerful caches API to cache data near the user.
Hey, thanks a lot for this video. I have a question, why there's no comma between s-maxage and stale-while-revalidate? You have: "s-maxage=604800 stale-while-revalidate=3154000000". Is it a trick to make "stale-while-revalidate" a CDN only and force browser to ignore it, or is just a typo?
This also assumes CDNs will keep assets in their CDN for a year.. They won't :). Many (if not all) CDNs only serve the most used assets so they can keep their storage costs down.
This is excellent!
Great Explanation!!
One Question…, how we can make on demand revalidation like NextJS, for example if I have a CMS and u want make a request to remix app for revalidare the post in demand. How u Can doing this?
Great Explanatiiiiiiiiiiioooonnnnnn!!!!!!!!
This explaination was amazing. I tried implementing the ISR with next but got some errors while deploying with AWS as ISR isnt supported yet, this would be a nice backup instead.
Hi, do you have the example project showed at the end on a repo? I'd love to have a look at the source code
When Ryan said "I'm not good ay Math" hahaha. "Same same"
I did had this idea of uploading SSR generated code to CDN but backed down when I thought about cache bust not possible with HTML files. Atleast the main one index.html.
But the donuts are half-off at the end of the day :) 27:24
can the browser get the stale version from the cdn and request a fresh copy at the same time? then replace the stale version once it arrives? the cdn could check with origin to see if the copy it already has is still fresh?
I think we can request Chrome Dev tools people to render the cache header values more readable
Major CDNs (akamai is my experience) normally charge money for purging caches, so if you are a startup tight on money or have a hobby project it might not be ideal for you to automate it if your pages are dynamic.
Is this still valid for latest versions of Remix? I ask because by looking at the folders structure and file names, a lot changed, right?
Remix is fantastic. End of the story
"Dora the explorer for web developers" xDDD
Hello, thanks for a great video, I have a question
In part 1 - th-cam.com/video/3XkU_DXcgl0/w-d-xo.html, when set the header for the "cache-control" in the code, will it work for all CDN? For example, using CloudFront or CloudFlare CDN. I mean, the "cache-control" set from the code will be received by the CDN and delivered to the browser with the same "cache-control".
Looking forward to receiving support. Thanks!
86400 is a day :3
SSR .. "kinda slow".. I don't think 162-250ms is kinda slow for Nuxt :)
You could have made it a shorter video