Kurrë mos bëni UPDATE posts SET views = views + 1 për çdo event në një post të nxehtë — ai row i vetëm bëhet një bottleneck lock-u. Increment në Redis, batch-flush në DB çdo pak sekonda, dhe lexoni numrin nga Redis. DB ruan totalet e qëndrueshme, jo trafikun live.
Arkitektura
Client tap ─▶ API ─▶ Redis INCR views:{post} (live, source of truth for reads)
│ └── dedup: SADD seen:{post} {user/ip}
▼
every ~5s / N ops
Flusher ─▶ UPDATE posts SET views = views + delta (durable)
▲
read path: GET Redis (fallback DB on miss)
