I think this video missed to talk about the very important fact that Redis has a limited memory space and depending of its configuration, when full, it will erase data. For example, when using as a Session "storage", the default configuration would make it so that in conjunction with TTL, the older/inactive sessions will be destroyed to make place for the new ones, effectively acting like a FIFO. So you have to carefully calculate the average size of your session's data and divide the available Redis space by it to obtain the theorical number of possible concurrent sessions and plan accordingly.
In the rate limiter use case, would the rejected request retries certain times until the queue is available or would the server simply return rejected response?
Another very nice overview video - thank you. And thank you for mentioning the "thundering herd" effect at 1:45. Over the years I've been surprised by how often this issue arises in systems built by people who should know better. And of course this is not just related to Redis.
@ByteByteGo thank you for the video. I have a small complaint. Making the graphs bigger over time, makes me dizzy to the point I can't read them (I have to pause the video to read them), maybe this is just me. Everything else is great, love your explanations.
A coworker of mine uses it to compliment Elasticsearch, in cases where certain shards get more hits than others, have not tried it myself but it sounds sensible for dealing with usage spikes.
Redis is always really nice to use but I miss one feature and that is multi-tenancy. It's always kind of a pain (and kind of a waste imo) that I have to use and maintain 1 redis instance per app (or multiple when using replication) instead of setting up 1 cluster, giving each app their own space (with no access to the spaces of other apps) and calling it a day.
great video, thanks for sharing! didn't get leaderboard scenario part where you say it helps to retrieve entry by its score ... can't imagine that happening in real life.
Probably my bad, but why (minute 2:15 and later) you speak about stateless, if you are storing and managing the session id ? It should be stateful ? Thanks (if I am wrong please tell me).
You are one of the best teachers on youtube for this kind of stuff. The animations are also super helpful to understand the content. I think that if you enunciate your words a bit more, itd take your video quality to another level
Thanks, Sahn for yet again a great video. Out of curiosity though, I am wondering what tools and techniques you use to create these smooth animations for your videos. I have a TH-cam channel of my own and I would like to incorporate these as well. Thanks.
Amazing work! Don't give up, you'll come through happier and stronger soon. Enjoy your time with the family. Looking forward to March 10th! That's when the course comes out right?
@@gcasar Thanks. That totally makes sense now that u explained. But technically the server + redis as a whole is providing statefull web service. Am i right?
@@pjf7044 I've used sorted liste , each agent has a score depending on how much he waited and his performance after each call you update his score, and whenever you have a request for that call you pick the agent in the top of the list
Let's dive in
I think this video missed to talk about the very important fact that Redis has a limited memory space and depending of its configuration, when full, it will erase data. For example, when using as a Session "storage", the default configuration would make it so that in conjunction with TTL, the older/inactive sessions will be destroyed to make place for the new ones, effectively acting like a FIFO.
So you have to carefully calculate the average size of your session's data and divide the available Redis space by it to obtain the theorical number of possible concurrent sessions and plan accordingly.
100%
In the rate limiter use case, would the rejected request retries certain times until the queue is available or would the server simply return rejected response?
Another very nice overview video - thank you. And thank you for mentioning the "thundering herd" effect at 1:45. Over the years I've been surprised by how often this issue arises in systems built by people who should know better. And of course this is not just related to Redis.
@ByteByteGo thank you for the video. I have a small complaint. Making the graphs bigger over time, makes me dizzy to the point I can't read them (I have to pause the video to read them), maybe this is just me. Everything else is great, love your explanations.
Why not Redis Stream for Queue?
Nice explanation thanks, I wonder how make the video and which tools do use
Its time to update this video as how to migrate to Valkey, Garnet or KeyDB as Redis no longer open source
Pushing the algorithm ❤️
You actually found the best recipe for making videos great with you explanations combined.
I use Redis as a replacement for Elasticsearch. However it's full text search capability has a limitation/quirk.
A coworker of mine uses it to compliment Elasticsearch, in cases where certain shards get more hits than others, have not tried it myself but it sounds sensible for dealing with usage spikes.
I'm new to redis and still scouting around which to use, but do we need to pay to use Redis?
how do you make presentation using which tool if you can guide to do that as well, or if anyone knows about it
Redis is always really nice to use but I miss one feature and that is multi-tenancy.
It's always kind of a pain (and kind of a waste imo) that I have to use and maintain 1 redis instance per app (or multiple when using replication) instead of setting up 1 cluster, giving each app their own space (with no access to the spaces of other apps) and calling it a day.
I think that can be coded in pretty easily. You can use ":" to separate tenants. Just make the first part of the key tenant specific in your backend
I really enjoyed this overview. Didn't know about the rate limiter use case. Now I'm eager to try it out.
A quick and understandable explanation, as always. Thanks.
I use redis allong with the consistent hashing that was discussed in an earlier video to create a work division system for my persistent jobs.
1. Caching
2. Session data
3. Replication
4. Distribution lock
5. Ray limiter
6. gaming leaderboard
Please make videos on AWS Services. Event Driven Architectures, Monolith Architectures, Lambda Functions, EC2 instances, S3, IAM Service.
you are golden, thank you so much
I’d like to purchase the annual pass 59.99$. Thanks for your great works
great video, thanks for sharing! didn't get leaderboard scenario part where you say it helps to retrieve entry by its score ... can't imagine that happening in real life.
wow! this was informational, thanks!
Love the explanation ❤️🔍💣
@ByteByteGo thanks for this tutorial please what is the of the you use in making this video
Hello, excellent video, a question about what tool you use to create these types of very dynamic presentations. Thank you
Hi mate, did you figure out which tool is being used here
@@santosh_bhat Hi, I'm still searching.
A video about trpc would be super cool as it's a mix of rest and rpc
"distributes lock" is misspelled log in the chapter names
This answers my question about Redis.
RedisGraph can replace your whole database
why you didn`t mentioned pub/sub case?
Why are we talking about sessions for a stateless server? Stateful servers might use sessions
BBC is using Redis as event bus interestingly enough.
thank you so much, such a great video.
This is a very useful video! Thank you for making this
Probably my bad, but why (minute 2:15 and later) you speak about stateless, if you are storing and managing the session id ? It should be stateful ? Thanks (if I am wrong please tell me).
Ah ok probably the server are stateless, but using Redis to make them statefull ;-)
These videos are awesome. Subscribers++
i have difficulty in connecction only
Great content, share more content about redis and configuration in laravel ❤️
You’re the best. Thanks to share this amazing content with us.
I love the way to draw flowcharts, which tool is he using?
+1
Yah, interested to know
+1
@BytebyteGo also interested to know
Thanks for this video
Thank you for such short, clear and easy to understand video
You are one of the best teachers on youtube for this kind of stuff. The animations are also super helpful to understand the content. I think that if you enunciate your words a bit more, itd take your video quality to another level
awesome video and format, thanks!
Thx! As always the best explanation and samples!
Very Nice 😀
Enjoyed this!
Thanks
hello @ByteByteGo , great flowcharts, please which tool are using for that?
You are the number 1 !!
Please open a Telegram channel replicating the newsletter.
BTW
I use Redis for session storage, cache, rate limiting and....as a message broker thanks to pub/sub
Thanks, Sahn for yet again a great video. Out of curiosity though, I am wondering what tools and techniques you use to create these smooth animations for your videos. I have a TH-cam channel of my own and I would like to incorporate these as well. Thanks.
he's never sharing his tools
Great overview! Thank you 😊🙏
How much slower is it to use redis, rather than literally storing the variable in the language itself?
What if you want multiple systems to access the same result (which might have expensive query running behind) ?
Excellent presentation Bro 👍
What are the best use cases of redis time series ?
Very Helpful.
Amazing work! Don't give up, you'll come through happier and stronger soon. Enjoy your time with the family.
Looking forward to March 10th! That's when the course comes out right?
GREAT WORK
Great deeper dives
At timestamp 1:54 is it "stateless" or "statefull" web service?
stateless. redis is used to hold the state, enabling applications to hold zero state themselves directly
@@gcasar Thanks. That totally makes sense now that u explained. But technically the server + redis as a whole is providing statefull web service. Am i right?
yes. the upshot is that you can scale your state and processing separately and reason about processing in a much more straightforward manner
i am starving to death as my job forces me to work for no pay
and they keep illegally hacking into my pc, they are nosey and commit felonies. Need to be in prison for life
@@jamieg1802 update
I've used it for phone number validation and for a call center app to store the priorities of agents
How
@@pjf7044 I've used sorted liste , each agent has a score depending on how much he waited and his performance after each call you update his score, and whenever you have a request for that call you pick the agent in the top of the list
very nice overview video, thank you