This is why you need caching

Поделиться
HTML-код
  • Опубликовано: 26 апр 2023
  • 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-fk5gj 9 месяцев назад +7

    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 Год назад +14

    Grats on sponsorship!

  • @joshtriedcoding
    @joshtriedcoding Год назад +7

    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  Год назад +3

      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

  • @emmanuelezeagwula7436
    @emmanuelezeagwula7436 Год назад

    I love that you get straight to the point

  • @eshw23
    @eshw23 9 месяцев назад

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

  • @TheEchinox
    @TheEchinox Год назад +2

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

  • @DrifterXx22
    @DrifterXx22 Год назад

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

    • @WebDevCody
      @WebDevCody  Год назад +1

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

  • @jmaicaaan
    @jmaicaaan Год назад +3

    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

  • @streamocu2929
    @streamocu2929 Год назад

    love your content... thank you

  • @27sosite73
    @27sosite73 6 месяцев назад

    thank you, mate!

  • @parkerrex
    @parkerrex 2 месяца назад

    This is a great video

  • @sumitwadhwa8823
    @sumitwadhwa8823 11 месяцев назад +1

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

  • @ricardomilos857
    @ricardomilos857 4 месяца назад

    Good example, thanks

  • @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  Год назад +1

      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,
      },
      });

  • @abubakar-emumba
    @abubakar-emumba 9 месяцев назад

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

  • @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  Год назад +1

      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
    @martinthomas8955 11 месяцев назад +1

    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 месяцев назад +1

      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 :)

  • @Arthurk346
    @Arthurk346 3 месяца назад

    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

  • @abdulrahmanalsabagh3334
    @abdulrahmanalsabagh3334 Год назад

    Very nice

  • @divyanshurawat2422
    @divyanshurawat2422 7 месяцев назад

    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

  • @animegeek-011
    @animegeek-011 Год назад

    Thanks React Query.

  • @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  Год назад +3

      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  Год назад +1

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

  • @OmgImAlexis
    @OmgImAlexis Год назад +1

    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  Год назад +6

      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.

  • @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  Год назад +1

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

    • @parlor3115
      @parlor3115 Год назад

      @@WebDevCody Yeah, that too

  • @larryd9577
    @larryd9577 8 месяцев назад +6

    Caching is not the answer to poor database schema.

  • @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  Год назад +1

      Did you watch the video?

    • @xenmods
      @xenmods 2 месяца назад

      POV: me when i think im too smart

  • @thelaitas
    @thelaitas Год назад

    [0]