2. What Makes Redis Special? | Redis Internals

Поділитися
Вставка
  • Опубліковано 8 лют 2025
  • System Design for SDE-2 and above: arpitbhayani.m...
    System Design for Beginners: arpitbhayani.m...
    Redis Internals: arpitbhayani.m...
    Build Your Own Redis / DNS / BitTorrent / SQLite - with CodeCrafters.
    Sign up and get 40% off - app.codecrafte...
    In the video, I explained the unique features of Redis, an open-source in-memory data store. Redis offers a variety of data structures like hashes, lists, sets, and more, enabling the creation of various applications such as real-time chats, gaming leaderboards, and authentication systems. A key highlight of Redis is its atomic nature, ensuring that every operation is executed without interruption, making it highly reliable for concurrency. Redis also provides configurable persistence, transactions, pub/sub messaging, TTL on keys, and efficient key eviction strategies. The video delved into the concept of I/O multiplexing and how Redis leverages in-memory operations for high performance.
    Recommended videos and playlists
    If you liked this video, you will find the following videos and playlists helpful
    System Design: • PostgreSQL connection ...
    Designing Microservices: • Advantages of adopting...
    Database Engineering: • How nested loop, hash,...
    Concurrency In-depth: • How to write efficient...
    Research paper dissections: • The Google File System...
    Outage Dissections: • Dissecting GitHub Outa...
    Hash Table Internals: • Internal Structure of ...
    Bittorrent Internals: • Introduction to BitTor...
    Things you will find amusing
    Knowledge Base: arpitbhayani.m...
    Bookshelf: arpitbhayani.m...
    Papershelf: arpitbhayani.m...
    Other socials
    I keep writing and sharing my practical experience and learnings every day, so if you resonate then follow along. I keep it no fluff.
    LinkedIn: / arpitbhayani
    Twitter: / arpit_bhayani
    Weekly Newsletter: arpit.substack...
    Thank you for watching and supporting! it means a ton.
    I am on a mission to bring out the best engineering stories from around the world and make you all fall in
    love with engineering. If you resonate with this then follow along, I always keep it no-fluff.

КОМЕНТАРІ • 54

  • @arambh-gaur
    @arambh-gaur 6 місяців тому +8

    What an outstandingly excellent explaination !!! Yes handling mutexes and semaphores has it's own throughput headaches

  • @kommisettyveerendranath53
    @kommisettyveerendranath53 2 роки тому +6

    Thank you Arpit, very nice way of explaining the whole concept behind the redis single threaded model.

  • @rktpro
    @rktpro 8 місяців тому +24

    Every embedded systems guy who works with C would find the 'single thread' design just another day in life.

  • @sahajarora2162
    @sahajarora2162 5 місяців тому +2

    Beautifully explained. Thank you!

  • @jasonngan5747
    @jasonngan5747 2 роки тому +1

    Very great and thorough content! Thanks for the nice work!

  • @vikrantkumar4431
    @vikrantkumar4431 Рік тому +5

    I used sorted redis sets in my company project for leaderBoard 😅, completely removing db here. Fetched the leaderboard combining two scores into one

  • @kalpeshmali8498
    @kalpeshmali8498 2 роки тому +2

    Itni deep me reddis padai hai aapne sir thank you very much sir ❤️🔥🙏🙏🙏🙏

  • @sergioliberati9192
    @sergioliberati9192 10 місяців тому

    this is a really good explanation 👍👍👍

  • @tejpalkhachane1965
    @tejpalkhachane1965 Рік тому +1

    Pls add some videos on api performance improvements, error handling in micro services, performance testing of micro services

  • @SatSun_xplorer
    @SatSun_xplorer Рік тому

    This channel should gain more reach ❣

  • @chetansharma5514
    @chetansharma5514 2 роки тому +4

    @Asli Engineering :- I like the content of your playlist. Request you to make a series on Object storage technology ( a detailed one which covers the internal such as how the data is organised and stored on physical hardware ) .. I have been searching internet for this details but have not found anything so any kind of help would be highly appreciated.

    • @amitdahiya8969
      @amitdahiya8969 Рік тому

      You can go through the book : operating system concepts, it covers Process Management, Memrory management and storage management

  • @jivanmainali1742
    @jivanmainali1742 2 роки тому +7

    Network IO is slow but execution is fast (in memory ) implies it has no waiting data (queue of commands ) to process thus IO multiplexing seems to be a wonderful solution

  • @akashanand3783
    @akashanand3783 10 місяців тому

    Very well explained. Thanks a ton😊

  • @cnkumar20
    @cnkumar20 4 місяці тому

    having worked with asyncio of python lib, made total sense. (python is also single process due to GIL)

  • @大盗江南
    @大盗江南 8 місяців тому

    amazing content!!! Thank you!!!

  • @sw9038
    @sw9038 5 місяців тому +2

    Redis is no longer open source now. Can we use redis community version for commercial websites now? What is the impact of changing the licensing policy for the Redis? Is it only for cloud support? What can I do with my existing redis integrated projects? How Valkey is substitution for Redis? Could you please make a detailed video on this?

    • @AsliEngineering
      @AsliEngineering  5 місяців тому +2

      You can continue using it. It just prevents other companies from offering it as a managed service. No changes on your side.

    • @sw9038
      @sw9038 5 місяців тому +1

      @@AsliEngineering Ok thanks.

  • @liveforothers1846
    @liveforothers1846 2 роки тому

    @arpit as you said redis create connection fromTCP and in a single thread all those connection comes and execute. But i have also seen i can only create one connection in redis and that one connection can also serve as many request as multiple connection does. Which is more scaleble single connection with multiple request or connection per request is the ideal practice

  • @kaushikdas417
    @kaushikdas417 2 роки тому +1

    So the event loop thread is always busy, always checking if something is there to work on?

  • @vaibhaves
    @vaibhaves 2 роки тому +1

    Any discount for college students? :D

  • @jivanmainali1742
    @jivanmainali1742 2 роки тому +2

    Hi Arpit , Is there a way we can limit number of tcp connection to redis at application layer in synchronous way ?

    • @sakshamjain16
      @sakshamjain16 2 роки тому +2

      Use Redis pool to limit connection

  • @dafivers4127
    @dafivers4127 Місяць тому

    I was a bit lost, how does a single threaded (redis) accept multiple tcp connections? wouldn't each connect be it's own thread hence it's not single threaded

  • @jivanmainali1742
    @jivanmainali1742 2 роки тому

    Also what happens when you have data from multiple socket at a same time ,when you read? @18:00

    • @AshokBathini
      @AshokBathini 2 роки тому

      Not sure if redis uses epoll; I guess it may be using it.
      If u use epoll, u need to register fds(sockets) with it and whenever any related socket buffer is full, u get a handle on all those fds, process them sequentially and go back and ask for more fds whose buffer is full/ready to read.

  • @madhulikaghosh3876
    @madhulikaghosh3876 4 місяці тому

    Very very nice.

  • @subee128
    @subee128 6 місяців тому

    thanks

  • @MsTendawa
    @MsTendawa Рік тому

    every operation is atomic in nature, then how it behaves when the redis in reactive driver (reactive nature)?

  • @StrawHatLuffy750
    @StrawHatLuffy750 2 роки тому

    Nice you are a great teacher :) i am planning on getting the redis internals but the cost is a bit high😅😅. hopefully would buy it sometime.. will there be more sessions on redis internals??

    • @AsliEngineering
      @AsliEngineering  2 роки тому

      Thanks a ton! Redis videos will not be on UA-cam. Have covered them in my course.

  • @sumitpatnaik2798
    @sumitpatnaik2798 2 роки тому +6

    Sir it might be cringe but i am binge watching for weekend as series 😅 really good content Thanks

  • @hackwithharsha
    @hackwithharsha 2 роки тому

    Hi Arpit, Thank You !!
    Do I have access to course for life time once i purchase it and also can i do it in python while watching in go lang ?

  • @pechimuthu.j7953
    @pechimuthu.j7953 2 роки тому

    I have a query, how this eventloop works in multi core machines. Blocking calls issue is addressed because of event loop I agree but how we will achive parrallesim with multiplecore

    • @AsliEngineering
      @AsliEngineering  2 роки тому +1

      It does not work on multi-core

    • @AshokBathini
      @AshokBathini 2 роки тому

      We have worked on something similar, built our own webserver using epoll systemcall. We just create a separate process per core.

  • @thenerdycoder07
    @thenerdycoder07 7 місяців тому

    Please do internals of kubernetes

  • @Ady-ny1gz
    @Ady-ny1gz 2 роки тому

    Hey @arpit, thanks for the excellet explanation, appreciate the efforts 🙌🏻
    one ques - what iPad app are you using for explaining? it looks very neat, gonna use it for personal uses.

  • @StrawHatLuffy750
    @StrawHatLuffy750 2 роки тому +1

    Please make paid series courses with other open source softwares :) in golang

    • @AsliEngineering
      @AsliEngineering  2 роки тому +1

      Suggest something, I am open for anything and everything.

  • @musafirgauravv
    @musafirgauravv 2 роки тому +4

    Redis sounds like Node to me

    • @AsliEngineering
      @AsliEngineering  2 роки тому +8

      Yes. Both work on the same foundation - event loop.

  • @vineet4991
    @vineet4991 8 місяців тому

    Hi Arpit, there will be concurrency issues if we have multiple shards/nodes of same redis instance? Since they both work separately even after being single threaded???

    • @Jollyrogger805
      @Jollyrogger805 5 місяців тому

      If you are referring to redis cluster, redis network io will still be single threaded thus no concurrency issue

  • @carlosluque4753
    @carlosluque4753 Рік тому

    I am finding these videos so interesting! I'd love you ever make a video like these ones about how HFTS (High Frequency Trading Systems/Applications) work and especially all the optimisations required to achieve processing time in the order of microseconds or nanoseconds. Not sure if it is your area of expertise but I am sure you definitely have the knowledge for it.
    For example, I know that in many cases, they would avoid the use of threads to avoid waiting time in locks, data locality to take advantage of CPU L1 and L2 caches, lock free data structures, etc. Been reading a book about it recently, super interesting.
    HFTS is a super interesting topic, would love if you can produce some content :)

  • @zapfska7390
    @zapfska7390 9 місяців тому

    *was open source