This is why you need caching

Be sure to checkout upstash.com/? if you want to set up globally enabled caching in your applications.
📘 T3 Stack Tutorial: 1017897100294.gumroad.com/l/j...
🤖 SaaS I'm Building: www.icongeneratorai.com/
💬 Discord: / discord
🔔 Newsletter: newsletter.webdevcody.com/
📁 GitHub: github.com/webdevcody
📺 Twitch: / webdevcody
🤖 Website: webdevcody.com
🐦 Twitter: / webdevcody

Пікірлер: 59

  • @TedMosby-fk5gj
    @TedMosby-fk5gj8 ай бұрын

    I implemented this in my app Cody! When i logged the times using the cache, vs without, it was at least 80 percent faster. Devs like you and Josh Tried Coding are a blessing, teaching us advanced topic to implement in our projects.

  • @insensibility
    @insensibility Жыл бұрын

    Grats on sponsorship!

  • @iukeay

    @iukeay

    Жыл бұрын

    Legit!

  • @emmanuelezeagwula7436
    @emmanuelezeagwula7436 Жыл бұрын

    I love that you get straight to the point

  • @joshtriedcoding
    @joshtriedcoding Жыл бұрын

    You do custom thumbnails now! Super interesting topic, thanks for sharing. Got a good experience with upstash as well, very handy for serverless

  • @WebDevCody

    @WebDevCody

    Жыл бұрын

    I usually only do thumbnails for my sponsored videos, but I may try doing them for all videos if they start improving click through rate

  • @eshw23
    @eshw239 ай бұрын

    Insanely helpful man, im definately going to add redis for my saas

  • @TheEchinox
    @TheEchinox Жыл бұрын

    If you keep this up, you're gonna become the most important tech/eng youtuber out there. No doubt. Keep it up!

  • @WebDevCody

    @WebDevCody

    Жыл бұрын

    thanks I appreciate it

  • @jmaicaaan
    @jmaicaaan Жыл бұрын

    Thank you for this great tutorial! I would like to ask how would you handle invalidation or returning the data if there's like pagination involved? Do you set the cache key as the composite of "domainId" + pagination options like limit and page? (eg: post_page1_limit25)

  • @SonAyoD
    @SonAyoD Жыл бұрын

    I need to take a look at this. Thanks

  • @DrifterXx22
    @DrifterXx22 Жыл бұрын

    heya Cody! this is a good thumbnail for the video! keep up the good work!

  • @WebDevCody

    @WebDevCody

    Жыл бұрын

    thanks, I can make decent thumbnails, and I have a couple more coming soon to test out how they perform

  • @streamocu2929
    @streamocu2929 Жыл бұрын

    love your content... thank you

  • @ricardomilos857
    @ricardomilos8573 ай бұрын

    Good example, thanks

  • @sumitwadhwa8823
    @sumitwadhwa882310 ай бұрын

    redis on a remote server that I need to reach out to every time my api is hit, bugs me. why?

  • @27sosite73
    @27sosite735 ай бұрын

    thank you, mate!

  • @parkerrex
    @parkerrexАй бұрын

    This is a great video

  • @Arthurk346
    @Arthurk3463 ай бұрын

    I used to have Django REST with Redis caching and our Redis was making a copy of its db to a disk. And suddenly we ran out of storage and the API didn't work anymore lol

  • @abubakar-emumba
    @abubakar-emumba9 ай бұрын

    Hi, I need guidance around what tools and technologies are expected from a 3 years experienced frontend (react.js) developer.

  • @ibrahimmohammed3484
    @ibrahimmohammed3484 Жыл бұрын

    I've a question, why do we need trpc or an end point and not just use prisma client directly on our server component? or do we still need to have an endpoint?

  • @WebDevCody

    @WebDevCody

    Жыл бұрын

    You could add your database calls directly inside your react server components if you want. I’d at least add one layer of abstraction

  • @StephenHodgkiss
    @StephenHodgkiss Жыл бұрын

    Hi Cody, do you have any ideas how to set the expires' value on the Javscript Fetch calls ?

  • @StephenHodgkiss

    @StephenHodgkiss

    Жыл бұрын

    It's ok, I figured it out but looks like an extra call is needed as below that sets it to 60 secs: const response = await fetch(cacheEndpoint + "/expire/" + cacheType + '/60', { headers: { Authorization: "Bearer " + cacheBearer, }, });

  • @shadowplay1211
    @shadowplay1211 Жыл бұрын

    Is making a local cache manager based on local object or map will be a good idea? Or using redis will be better approach for the best performance?

  • @WebDevCody

    @WebDevCody

    Жыл бұрын

    that will work, but it will not work well when doing serverless since every lambda would has it's own cache. If you have a single VM that hosts your application, then yeah that might work, but redis has a lot of built in features that will make everything much easier as you grow

  • @shadowplay1211

    @shadowplay1211

    Жыл бұрын

    @@WebDevCody thanks!

  • @supersteez5316

    @supersteez5316

    Жыл бұрын

    @@shadowplay1211 In-App memory caches can get weird too. Usually when you query from a redis cache, and you make a change to the object returned, it doesn't affect the store, but in-app memory stores, e.g. an object, depending on the implementation can actually update the object in the store. Just a heads up.

  • @martinthomas8955
    @martinthomas895511 ай бұрын

    What I don't understand is if cache exists for the user and you return that instead, at what point will they get the latest data if they are only getting the outdated cached data returned?

  • @WebDevCody

    @WebDevCody

    11 ай бұрын

    You can set a timer to expire it. If you need the latest data for users every request then don’t use a cache

  • @martinthomas8955

    @martinthomas8955

    11 ай бұрын

    @@WebDevCody ah that sounds interesting. Thanks that clears it up.

  • @hasaniqbal233
    @hasaniqbal233 Жыл бұрын

    Hey Cody, are you going to continue the Mantine course platform series?

  • @WebDevCody

    @WebDevCody

    Жыл бұрын

    Absolutely, ijust needed to get a couple videos out first

  • @hasaniqbal233

    @hasaniqbal233

    Жыл бұрын

    @@WebDevCody Great! Will be waiting eagerly :)

  • @animegeek-011
    @animegeek-011 Жыл бұрын

    Thanks React Query.

  • @divyanshurawat2422
    @divyanshurawat24227 ай бұрын

    Will this work this much faster in production also ?

  • @WebDevCody

    @WebDevCody

    7 ай бұрын

    yeah usually caching is something you'd add to a production system to try and improve load time of data that doesn't change often

  • @abdulrahmanalsabagh3334
    @abdulrahmanalsabagh3334 Жыл бұрын

    Very nice

  • @jeremey__
    @jeremey__ Жыл бұрын

    I just use redis as my primary db.

  • @SeibertSwirl
    @SeibertSwirl Жыл бұрын

    Good job babe!!!!

  • @TheIpicon
    @TheIpicon Жыл бұрын

    honestly this is seems a bit of an overkill, if you use Redis just to cache for 10 seconds, you have this already built in in the Next framework, those are called `Segment Config Options`. Which you can cache your api request, without any 3rd party providers and without spending more money on them :)(P.S and it will be faster)

  • @TheIpicon

    @TheIpicon

    Жыл бұрын

    It's not like I'm against Redis, I just think the example wasn't good enough can the edge case you presented have already built it solutions. I use Redis to cache stuff that regular API router caching can't do. Like user specific data or secret stuff

  • @WebDevCody

    @WebDevCody

    Жыл бұрын

    using redis gives you more control I'd say. For example, let's say you cache these comments for 5 minutes for users, BUT you want to invalidate the cache when a new user posts a comment. Correct me if I'm wrong, but if you just let next / vercel cache your api request, you have to wait the full 5 minutes and can not invalidate.

  • @TheIpicon

    @TheIpicon

    Жыл бұрын

    @@WebDevCody I think you’re right, great point!🙏

  • @bram1712
    @bram1712 Жыл бұрын

    Liked the video still one thing trigged me and that was the else when it was not needed since your if always returns the else would not be needed

  • @WebDevCody

    @WebDevCody

    Жыл бұрын

    it'll be ok, an else statement isn't that bad

  • @parlor3115
    @parlor3115 Жыл бұрын

    Or you could cache the data on disk like a pleb and force everyone working for you to agree even though you just said that the table is going to have 100 rows at most and it's an app used by like 200 people a day max.

  • @WebDevCody

    @WebDevCody

    Жыл бұрын

    That works for a service deployed to a vm and not on edge or serverless

  • @parlor3115

    @parlor3115

    Жыл бұрын

    @@WebDevCody Yeah, that too

  • @OmgImAlexis
    @OmgImAlexis Жыл бұрын

    This seems less like a reason to use a cache and more of a reason to find out why your query is taking so damn long.

  • @WebDevCody

    @WebDevCody

    Жыл бұрын

    Yes, this was a simple example, but at some point you can't improve the query anymore. I've seen big queries with many joins take seconds before and you're left with little options for optimizing the query.

  • @indrajeetgiri8099
    @indrajeetgiri8099 Жыл бұрын

    I Don't Understand Why You Wrote false && cache Inside An If Statement You Can Directly Write if(cache) Instead If There Is An Cache Result

  • @WebDevCody

    @WebDevCody

    Жыл бұрын

    Did you watch the video?

  • @xenmods

    @xenmods

    2 ай бұрын

    POV: me when i think im too smart

  • @larryd9577
    @larryd95777 ай бұрын

    Caching is not the answer to poor database schema.

  • @thelaitas
    @thelaitas Жыл бұрын

    [0]