2. What Makes Redis Special? | Redis Internals
Vložit
- čas přidán 29. 08. 2024
- 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.
Every embedded systems guy who works with C would find the 'single thread' design just another day in life.
What an outstandingly excellent explaination !!! Yes handling mutexes and semaphores has it's own throughput headaches
Thanks!
Itni deep me reddis padai hai aapne sir thank you very much sir ❤️🔥🙏🙏🙏🙏
Thank you Arpit, very nice way of explaining the whole concept behind the redis single threaded model.
I used sorted redis sets in my company project for leaderBoard 😅, completely removing db here. Fetched the leaderboard combining two scores into one
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
Very great and thorough content! Thanks for the nice work!
This channel should gain more reach ❣
this is a really good explanation 👍👍👍
Pls add some videos on api performance improvements, error handling in micro services, performance testing of micro services
Very well explained. Thanks a ton😊
Sir it might be cringe but i am binge watching for weekend as series 😅 really good content Thanks
Means a ton 🙏
@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.
You can go through the book : operating system concepts, it covers Process Management, Memrory management and storage management
amazing content!!! Thank you!!!
@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
Hi Arpit , Is there a way we can limit number of tcp connection to redis at application layer in synchronous way ?
Use Redis pool to limit connection
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???
So the event loop thread is always busy, always checking if something is there to work on?
it is not a separate thread.
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.
Goodnotes
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??
Thanks a ton! Redis videos will not be on CZcams. Have covered them in my course.
Any discount for college students? :D
every operation is atomic in nature, then how it behaves when the redis in reactive driver (reactive nature)?
thanks
Also what happens when you have data from multiple socket at a same time ,when you read? @18:00
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.
node.js?
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 ?
Yes. Lifetime access to the course.
@@AsliEngineering Thank You !!
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 :)
Please do internals of kubernetes
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
It does not work on multi-core
We have worked on something similar, built our own webserver using epoll systemcall. We just create a separate process per core.
Please make paid series courses with other open source softwares :) in golang
Suggest something, I am open for anything and everything.
Redis sounds like Node to me
Yes. Both work on the same foundation - event loop.
*was open source