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.
What an outstandingly excellent explaination !!! Yes handling mutexes and semaphores has it's own throughput headaches
Thanks!
Thank you Arpit, very nice way of explaining the whole concept behind the redis single threaded model.
Every embedded systems guy who works with C would find the 'single thread' design just another day in life.
RTOS ?
Beautifully explained. Thank you!
Very great and thorough content! Thanks for the nice work!
I used sorted redis sets in my company project for leaderBoard 😅, completely removing db here. Fetched the leaderboard combining two scores into one
Itni deep me reddis padai hai aapne sir thank you very much sir ❤️🔥🙏🙏🙏🙏
this is a really good explanation 👍👍👍
Pls add some videos on api performance improvements, error handling in micro services, performance testing of micro services
This channel should gain more reach ❣
@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
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 well explained. Thanks a ton😊
having worked with asyncio of python lib, made total sense. (python is also single process due to GIL)
amazing content!!! Thank you!!!
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?
You can continue using it. It just prevents other companies from offering it as a managed service. No changes on your side.
@@AsliEngineering Ok thanks.
@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
So the event loop thread is always busy, always checking if something is there to work on?
it is not a separate thread.
Any discount for college students? :D
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
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
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.
Very very nice.
thanks
every operation is atomic in nature, then how it behaves when the redis in reactive driver (reactive nature)?
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 UA-cam. Have covered them in my course.
Sir it might be cringe but i am binge watching for weekend as series 😅 really good content Thanks
Means a ton 🙏
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 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 do internals of kubernetes
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
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.
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???
If you are referring to redis cluster, redis network io will still be single threaded thus no concurrency issue
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 :)
*was open source