Redis Deep Dive w/ a Ex-Meta Senior Manager

Redis (Valkey, MemoryDB, Garnet, Dragonfly, etc.) is one of the most versatile and useful technologies to know for your system design interview with companies like Meta, Google, Amazon, and others. Walk through essential elements of Redis in system design interviews: how it's used, how it works under the covers, and common patterns you're likely to see in practice.
00:50 Why Redis
01:51 Redis as a User
05:36 Redis Cluster
09:55 As Cache
12:41 As Rate Limiter
15:26 Streams and Async Job Queues
19:44 Sorted Sets and Leaderboards
23:25 Geospatial Indexes
26:40 Pub/Sub
Full writeup here:
www.hellointerview.com/learn/...
Redis commands docs are a great reference for the capabilities of Redis:
redis.io/docs/latest/commands/
Connect with me on LinkedIn:
/ stefanmai
Preparing for your upcoming interviews and want to practice with top FAANG interviewers like Evan? Book a mock interview at:
www.hellointerview.com
Good luck with your upcoming interviews!

Пікірлер: 61

  • @eastsideGK
    @eastsideGK27 күн бұрын

    I've been waiting for videos on deep dives. More deep dives please!! These rock

  • @hello_interview

    @hello_interview

    27 күн бұрын

    🫡

  • @Global_nomad_diaries
    @Global_nomad_diaries27 күн бұрын

    Can't thank you enough. You made system design so much easier to understand.

  • @riyaarora7517
    @riyaarora751725 күн бұрын

    Just love the way you add practical aspects! Thankyou for the thoughtful, concise and articulate deep dive! Was definitely a high ROI on time :)

  • @hello_interview

    @hello_interview

    25 күн бұрын

    So glad it was useful!

  • @SagarSood
    @SagarSood26 күн бұрын

    Loving the consistency of uploads! :) would love to see a deep dive on Kafka as well

  • @hello_interview

    @hello_interview

    26 күн бұрын

    Kafka is in the works! Written resource will be posted to the website this week or early next!

  • @nbx-bi1sk
    @nbx-bi1sk26 күн бұрын

    Very informative and helpful video as always. I would appreciate if the visualization of the internals could be a bit more detailed and in sync with what you describe, rather than just a couple of boxes. Regardless, this is a refreshing take to step away from the usual system design videos to dive into technologies that are useful in both interviews and real life. Hope to see more of this in the future.

  • @hello_interview

    @hello_interview

    26 күн бұрын

    Good feedback, thank you! Will try to make the visuals more engaging in the future.

  • @SlimJones62
    @SlimJones6226 күн бұрын

    Wait .... I thought I clicked on a Dua Lipa music video. 😀. Just kidding. Stefan I love this - clear, concise, articulate and I learned something. Keep 'em coming.

  • @hello_interview

    @hello_interview

    26 күн бұрын

    Lol. The intro is a banger, no :)?

  • @haribhatt34
    @haribhatt3424 күн бұрын

    Absolutely loved it !!! Can we have one deep dive on SQL vs NoSQL, a topic always asked in system design interview.

  • @hello_interview

    @hello_interview

    17 күн бұрын

    We actually have an opinion on that very topic, check this out: www.hellointerview.com/learn/system-design/in-a-hurry/key-technologies#core-database

  • @nishanthooda
    @nishanthooda26 күн бұрын

    Great watch! A similar deep dive video for Kafka would be amazing 🙏

  • @hello_interview

    @hello_interview

    26 күн бұрын

    Kafka is in the works! Written resource will be posted to the website this week or early next!

  • @nishanthooda

    @nishanthooda

    26 күн бұрын

    @@hello_interview amazing!

  • @davidoh0905
    @davidoh09059 күн бұрын

    The problem of hot key is clear but solution of hashtag is very difficult to understand. do we have to handle that all in the client? like figure out what are the hot keys?? and what will adding hashtag do really?

  • @adityakirankorlepara4500
    @adityakirankorlepara450026 күн бұрын

    Excellent video. Please also make video on mock interviews

  • @hello_interview

    @hello_interview

    26 күн бұрын

    Mock interviews are what we do! What is it you want to see?

  • @rahulbm
    @rahulbmКүн бұрын

    Great content. Really liking it. Can you please do a deep dive on TiDB, Rocks DB and Cassandra too

  • @hello_interview

    @hello_interview

    Күн бұрын

    Cassandra is soon!

  • @aanurraj
    @aanurraj26 күн бұрын

    Can we have a deep dive on Apache Flink please ?

  • @hello_interview

    @hello_interview

    26 күн бұрын

    We'll put it on the list!

  • @MQ.2000
    @MQ.200014 күн бұрын

    At 22:55 how does hashing tweet IDs help if we're looking for the most liked tweets overall? Or were you referring to getting top liked tweets for specific keywords when splitting that key across multiple nodes?

  • @stefanmai9879

    @stefanmai9879

    14 күн бұрын

    The latter!

  • @ItsMeIshir
    @ItsMeIshir3 күн бұрын

    It's a great deep dive. I'd like to give a suggestion, Can you guys add chapters to the video, so that, if I want to rewatch again about certain portion of the video then that would be easy thing to do.

  • @hello_interview

    @hello_interview

    Күн бұрын

    You should have chapters on this one! If you look at the description "Key Moments" will take you to the relevant sections. LMK if we're not doing something else we should be doing!

  • @ItsMeIshir

    @ItsMeIshir

    19 сағат бұрын

    @@hello_interview I see that, you missed to add "00:00" time stamp in your "Key moments", that's causing YT to not auto chaptering your video. I have checked couple of other videos in the channel, videos which are having 00:00 in their key moments, respective chapters are added.

  • @ganeshkudva817
    @ganeshkudva81726 күн бұрын

    Can you please do deep dives on Kafka and Spark too ? I love your videos

  • @hello_interview

    @hello_interview

    25 күн бұрын

    Written deep dive on Kafka coming in a couple days!!

  • @rogermarin1712
    @rogermarin171227 күн бұрын

    Can i book sys design coaching sessions on hello interview or is it only for mock interviews?I'm a senior engineer and I've just started preparing do you recommend to jump straight into mocks?

  • @hello_interview

    @hello_interview

    27 күн бұрын

    Send us an email at support@hellointerview.com and we might be able to make something work. Have some products planned here for people in your shoes.

  • @rogermarin1712

    @rogermarin1712

    27 күн бұрын

    @@hello_interview done

  • @alpacasCodebytes
    @alpacasCodebytes26 күн бұрын

    Amazing Content.. Can't thank you enough!! Any Plans for DSA Mock Interviews 👀

  • @hello_interview

    @hello_interview

    26 күн бұрын

    What are you looking to see?

  • @alpacasCodebytes

    @alpacasCodebytes

    26 күн бұрын

    @@hello_interview DSA Mock Interviews with FAANG Candidates..

  • @ediancomachio2783
    @ediancomachio278327 күн бұрын

    I have never clicked so fast!

  • @PrasannaRanganathan6078
    @PrasannaRanganathan607824 күн бұрын

    Nice! Can you also do Deep Dive on Graph Databases(eg, neo4j) as well. please!

  • @hello_interview

    @hello_interview

    17 күн бұрын

    Will add it to the list! Typically, graph dbs are not as commonly used at scale.

  • @artemkobeliev6042
    @artemkobeliev604216 күн бұрын

    10:00 didn't quite catch how adding random suffix would solve hot node problem

  • @hello_interview

    @hello_interview

    16 күн бұрын

    Splits the hot shard into multiple, so you can distribute that load across nodes.

  • @nez14526

    @nez14526

    3 күн бұрын

    @@hello_interview sorry, what's the approach? I think somewhere else in the video talks about it, but I also somehow did not understand that. Is it roughly the following? Generate X random suffixes. Maintain a map on the (Redis') client side of . Whenever we want to do some sort of "write", we get a random suffix from our list and append it to our key in the Redis command. Whenever we want to do some sort of "read", we get _all_ random suffixes (X of them) from our set, make X reads from Redis, and aggregrate on the client side. ---- Or maybe it's sometimes the opposite way. For example, in a cache, I'm guessing we'd want to write our value to each and every one of the key+randomsuffix. Then for a read, we can (randomly) pick one of the suffixes. ---- Maybe the missing link (for me and others similarly confused) is how/where the random suffixes are managed. There's also the question of how we (automatically?) identify a hotkey, or develop an algorithm that generates (or increases) the number of suffixes depending on some sort of access rate.

  • @hazemabdelalim5432
    @hazemabdelalim543226 күн бұрын

    But how will you handle the at most one delivery of redis in the case messaging?

  • @hello_interview

    @hello_interview

    26 күн бұрын

    Check out our Whatsapp guide for one example of this: www.hellointerview.com/learn/system-design/answer-keys/whatsapp

  • @armanmalik
    @armanmalik15 күн бұрын

    Why would I want to use Redis stream over something like Kinesis or Kafka streams

  • @hello_interview

    @hello_interview

    15 күн бұрын

    In practice? Substantially faster and cheaper if you can accept some of the (many) compromises. In an interview setting it can be helpful to have a few multifaceted tools vs having to know all about Kafka (video on that soon). If your business was entirely built around append-only logs I probably wouldn't take Redis as an acceptable substitute, though it works in a pinch.

  • @hello_interview
    @hello_interview27 күн бұрын

    Re-upload, sorry! Stefan is a KZread noob.

  • @stefanmai9879

    @stefanmai9879

    27 күн бұрын

    Facts.

  • @aanurraj

    @aanurraj

    26 күн бұрын

    🤣

  • @maxvettel7337
    @maxvettel733727 күн бұрын

    It would be nice to see a Deep Dive video about location database. Pretty hard to understand for me

  • @hello_interview

    @hello_interview

    27 күн бұрын

    Which part is most confusing? Geohashing? Quad trees? Where to use them?

  • @maxvettel7337

    @maxvettel7337

    27 күн бұрын

    @@hello_interview Geohashing algorithm is too complex. I just cant take in all this diagrams. I also dont understand how proximity systems can search something inside the circle using square blocks of geohashes

  • @hello_interview

    @hello_interview

    27 күн бұрын

    @@maxvettel7337 Gotcha! I'll earmark this for follow-up. The nice thing is you don't necessarily need to know about the geohashing internals to use something like Redis' proximity search in practice!

  • @randyorton06
    @randyorton066 күн бұрын

    do a deepdive on ethereum latest version, l2 rollups

  • @jordanhasnolife5163
    @jordanhasnolife516323 күн бұрын

    Couldn't focus, too handsome

  • @hello_interview

    @hello_interview

    23 күн бұрын

    The GOAT has arrived and has something important to say!

  • @jordanhasnolife5163

    @jordanhasnolife5163

    22 күн бұрын

    @@hello_interview Gigachad onlyfans allocator (of) toes, that's very kind of you

  • @anuragtiwari3032
    @anuragtiwari303226 күн бұрын

    I see , I like.

  • @guidoscalise
    @guidoscalise6 күн бұрын

    Kafka next, please!

  • @hello_interview

    @hello_interview

    6 күн бұрын

    This week!