Rate Limiting with Redis

  Рет қаралды 31,197

Redis

Redis

Күн бұрын

Пікірлер: 22
@subhajitghosh5911
@subhajitghosh5911 3 жыл бұрын
Thanks for the explanation. First method seems to be the fixed window approach and the second one is specifically the Sliding Window Log method.
@immanuelbenhefer3437
@immanuelbenhefer3437 3 жыл бұрын
audio issues between 22:20 - 23:15
@rudrapal2586
@rudrapal2586 4 жыл бұрын
Good explanation. Extremely helpful.
@atabhatti6010
@atabhatti6010 Жыл бұрын
Excellent presentation with lots of good detail. Walking through the code examples is awesome. Thanks! Unfortunately the audio is garbled for several minutes and I wonder if I am missing out on some good content. Can you please fix and repost?
@SunnyGuptaTech
@SunnyGuptaTech 4 жыл бұрын
Nice explanation 👍
@user-qi5kb5th7y
@user-qi5kb5th7y 9 ай бұрын
I think at 14:31 it would be more correct to set expire to: (86400 - math.floor(time.time()) % 86400) + 1 Because if the user has not used the API throughout the day, but uses it the last second of the day, the key will remain in the database for another day, since expire is set to this period.
@OmarQunsul
@OmarQunsul 3 жыл бұрын
On slide 15:25, why did you read the value after you issued (incrby) ? Because incrby already returns the new value
@ChrisAthanas
@ChrisAthanas 11 ай бұрын
Same question
@mukhiddinkhalimetov8297
@mukhiddinkhalimetov8297 3 жыл бұрын
Second method can be done in more easier way. Simply, store epoch time in the value (if does not exists). In each request, increment it for some number (this number relates to the "window" lenght). Set the expiration to the value. Check difference between the value and current epoch time (this determines number of requests during the window)
@user-qi5kb5th7y
@user-qi5kb5th7y 9 ай бұрын
i think your approach cannot be done atomically, so it might be subject to race conditions
@uppermiddleclass
@uppermiddleclass 3 жыл бұрын
Thank you very much for this insightful video! Is my understanding correct that zadd call actually increase memory footprint of the particular sortedset instance inside of the Redis instance? We do this for every API call being evaluated - so, if I understand correctly, memory footprint of Redis instance linearly depends on API call number . Could this be used to attack our system and if so how to configure Redis to prevent this?
@Redisinc
@Redisinc 3 жыл бұрын
Really glad you liked it! We are working to bring a lot more content to our KZbin very soon! subscriber here, or jump into our discord channel to chat with active Redis users who can answer your questions! Join our Discord server → discord.gg/redis
@HarshaTALLAM-fo4em
@HarshaTALLAM-fo4em 9 ай бұрын
In the second approach, when you are setting expiry for each record for a day, Why do you have to again actively remove keys that are older than 1 day using zremrangebyscore ?
@SoloistKavin
@SoloistKavin 3 жыл бұрын
the second approach uses sorted sets... isnt that expensive... can we not use hyperloglog without being too expensive... imagine a uses case where there is spike in traffic and there is a large sorted set that needs to be read for every request?
@yoka791
@yoka791 2 жыл бұрын
why the key should contain the timestamp of the start of day? Isn't that possible to save the key without the timestamp and rely on the ttl by setting it only when no record exist (=first request in a time windows of a day)?
@360Legion
@360Legion 2 жыл бұрын
I believe that is the good approach .. although as a gate keeping mechanism, its better to remove the key if it is longer than 24 hours as well.
@ChrisAthanas
@ChrisAthanas 11 ай бұрын
22:39 audio issues make it unlistenable Please remake this video
@polskieyt9191
@polskieyt9191 2 жыл бұрын
#cool
@Redisinc
@Redisinc 2 жыл бұрын
😎
@CrusaderGeneral
@CrusaderGeneral 2 жыл бұрын
several minutes of this video is garbled.. you need to repost..
@greendsnow
@greendsnow 9 ай бұрын
Upstash is making a lot of money off of devs who CAN'T setup up a rate limiter with your product... What more should I say... And here, you guys have come up with a code that is in python... poor choices...
@Redisinc
@Redisinc 7 ай бұрын
Thank for the feedback!
System Design Interview - Rate Limiting (local and distributed)
34:36
System Design Interview
Рет қаралды 291 М.
Redis Data Structures for Non-Redis Users
48:00
Redis
Рет қаралды 28 М.
MISS CIRCLE STUDENTS BULLY ME!
00:12
Andreas Eskander
Рет қаралды 20 МЛН
Пранк пошел не по плану…🥲
00:59
Саша Квашеная
Рет қаралды 7 МЛН
Redis at Lyft: 1,000 Instances
46:08
Redis
Рет қаралды 17 М.
I've been using Redis wrong this whole time...
20:53
Dreams of Code
Рет қаралды 347 М.
Science Presentation - SNL
4:54
Saturday Night Live
Рет қаралды 20 МЛН
Recommendation Engines with Redis
32:59
Redis
Рет қаралды 569
Envoy + Rate Limiting
50:58
solo.io
Рет қаралды 3,1 М.
Rate Limiting - System Design Interview
24:04
High-Performance Programming
Рет қаралды 27 М.
How does Caching on the Backend work? (System Design Fundamentals)
22:45
Software Developer Diaries
Рет қаралды 33 М.
System Design Interview - Distributed Cache
34:34
System Design Interview
Рет қаралды 355 М.
Looks very comfortable. #leddisplay #ledscreen #ledwall #eagerled
0:19
LED Screen Factory-EagerLED
Рет қаралды 12 МЛН
Это iPhone 16
0:52
Wylsacom
Рет қаралды 628 М.
Опасность фирменной зарядки Apple
0:57
SuperCrastan
Рет қаралды 12 МЛН