ஒரு hot post மீது ஒவ்வொரு event-க்கும் UPDATE posts SET views = views + 1 ஒருபோதும் செய்யாதீர்கள் — அந்த ஒரு row ஒரு lock bottleneck ஆகிறது. Redis-இல் increment செய்யுங்கள், ஒவ்வொரு சில வினாடிகளுக்கும் DB-க்கு batch-flush செய்யுங்கள், மேலும் count-ஐ Redis-இலிருந்து படியுங்கள். DB durable totals-ஐச் சேமிக்கிறது, live traffic-ஐ அல்ல.
கட்டமைப்பு
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)
