Menu

#DevtoRedis

75 posts

Feed·
11 of 75 posts
How Redis rate limiters fail under load, measured
🖼️
0Read More

How Redis rate limiters fail under load, measured

DEV Community: redis·Yash Suthar·about 17 hours ago
#rlYhO0oM
#devtoredis#devto#dev#every#bucket

I measured eight Redis rate limiter designs in 3,853 trials. Check-then-act let 29% too much through, WATCH refused up to 42% of good traffic, and caller clocks broke token buckets.

15s
Redis 8.4's digest-based SET option cuts a 1MB compare-and-set from 4.3ms to 1.6ms
🖼️
0Read More

Redis 8.4's digest-based SET option cuts a 1MB compare-and-set from 4.3ms to 1.6ms

DEV Community: redis·Alex Georgiev·about 17 hours ago
#f46oXzSG
#devtoredis#devto#dev#ifeq#digest

Redis 8.4 adds IFEQ, IFNE, IFDEQ and IFDNE to SET. I measured a 1MB compare-and-set drop from about 4.3ms to 1.6ms using the new digest option, then found the official Python client silently drops the server's own GET reply on one code path.

15s
From 32KB SQL Joins to 46 Bytes: Architecting an O(1) Habit Streak Engine with Valkey/Redis Bitmaps & POPCNT
🖼️
0Read More

From 32KB SQL Joins to 46 Bytes: Architecting an O(1) Habit Streak Engine with Valkey/Redis Bitmaps & POPCNT

DEV Community: redis·Duong Phuc Khanh (Kido)·about 17 hours ago
#HraPV2En
#devtoredis#devto#dev#date#bytes

How Duong Phuc Khanh (Kido) replaced bloated relational habit logs with 46-byte Redis/Valkey Bitmaps and CPU hardware POPCNT instructions, dropping p99 streak latency from 140ms to 0.08ms.

15s
Design Ticketmaster for a 3.5-Billion-Request Presale: Waiting Room, Seat Holds, Expiry
🖼️
0Read More

Design Ticketmaster for a 3.5-Billion-Request Presale: Waiting Room, Seat Holds, Expiry

DEV Community: redis·Gabriel Anhaia·about 17 hours ago
#X8UmzQqU
#devtoredis#devto#dev#popped#keys

The Eras Tour presale hit 3.5B requests, 4x Ticketmaster's prior peak. Work the interview design: waiting room, atomic Redis seat holds, expiry, payment.

15s
What happens to your Redis data in Docker
🖼️
0Read More

What happens to your Redis data in Docker

DEV Community: redis·Remdore·about 17 hours ago
#c6XRSvVH
#devtoredis#devto#dev#redis#docker

I wrote 10,000 keys into Redis running in Docker, then ran one ordinary Docker command and counted...

15s
taming burst traffic: pgbouncer + redis cache for low‑latency queries
🖼️
0Read More

taming burst traffic: pgbouncer + redis cache for low‑latency queries

DEV Community: redis·lucy-reeves·about 17 hours ago
#KgJn1Kxq
#devtoredis#devto#dev#pool#redis

in a SaaS billing service we hit a sudden spike every time a new plan rolled out – the API surged...

15s
Redis Cluster Explained: Hash Slots, CROSSSLOT Errors, Lua Scripts, and Pipelining
🖼️
0Read More

Redis Cluster Explained: Hash Slots, CROSSSLOT Errors, Lua Scripts, and Pipelining

DEV Community: redis·Tim Nguyen·about 17 hours ago
#x6jJKfs5
#devtoredis#devto#dev#redis#fullscreen

If you've used standalone Redis and then switched to Redis Cluster, you may have encountered this...

15s
Our device cap is written only by the Stripe webhook, so the one plan with a cap of 2 is the one nobody can reach
🖼️
0Read More

Our device cap is written only by the Stripe webhook, so the one plan with a cap of 2 is the one nobody can reach

DEV Community: redis·Daniel Pertu·about 17 hours ago
#MUcDGWl1
#devtoredis#devto#dev#fullscreen#session

Three plans declare a concurrent login cap of 2, 3 and 3. The middleware falls back to 3 when Redis has no key, and only a Stripe event ever writes the key, so the trial value is reachable only by cancelling a paid plan.

15s
Our lock lived for three hours, our schedule fired every fifteen minutes, and every one of those skipped runs was recorded as a success
🖼️
0Read More

Our lock lived for three hours, our schedule fired every fifteen minutes, and every one of those skipped runs was recorded as a success

DEV Community: redis·Daniel Pertu·about 17 hours ago
#Ozhazey3
#devtoredis#devto#dev#fullscreen#lock

Why a job lock should be a renewed lease rather than a timeout on the work, what a cancelled run does to a TTL set to the worst-case runtime, and giving "I did nothing" its own status code.

15s