2. What Makes Redis Special? | Redis Internals

Поділитися
Вставка
  • Опубліковано 12 жов 2022
  • System Design for SDE-2 and above: arpitbhayani.me/masterclass
    System Design for Beginners: arpitbhayani.me/sys-design
    Redis Internals: arpitbhayani.me/redis
    Build Your Own Redis / DNS / BitTorrent / SQLite - with CodeCrafters.
    Sign up and get 40% off - app.codecrafters.io/join?via=...
    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.me/knowledge-base
    Bookshelf: arpitbhayani.me/bookshelf
    Papershelf: arpitbhayani.me/papershelf
    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.com
    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.
  • Наука та технологія

КОМЕНТАРІ • 43

  • @rktpro
    @rktpro Місяць тому +3

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

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

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

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

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

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

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

  • @user-oy4kf5wr8l
    @user-oy4kf5wr8l Місяць тому

    amazing content!!! Thank you!!!

  • @akashanand3783
    @akashanand3783 2 місяці тому

    Very well explained. Thanks a ton😊

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

    This channel should gain more reach ❣

  • @sergioliberati9192
    @sergioliberati9192 3 місяці тому

    this is a really good explanation 👍👍👍

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

    @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

  • @jivanmainali1742
    @jivanmainali1742 Рік тому +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

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

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

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

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

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

    @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 10 місяців тому

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

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

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

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

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

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

    Any discount for college students? :D

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

    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???

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

    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  Рік тому

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

  • @thenerdycoder07
    @thenerdycoder07 6 днів тому

    Please do internals of kubernetes

  • @Ady-ny1gz
    @Ady-ny1gz Рік тому

    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.

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

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

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

      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.

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

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

  • @pechimuthu.j7953
    @pechimuthu.j7953 Рік тому

    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  Рік тому

      It does not work on multi-core

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

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

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

    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 ?

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

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

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

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

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

      Suggest something, I am open for anything and everything.

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

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

  • @abhiarora6271
    @abhiarora6271 3 дні тому

    node.js?

  • @musafirgauravv
    @musafirgauravv Рік тому +2

    Redis sounds like Node to me

    • @AsliEngineering
      @AsliEngineering  Рік тому +7

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

  • @zapfska7390
    @zapfska7390 2 місяці тому

    *was open source