Doe nooit UPDATE posts SET views = views + 1 per event op een hot post — die ene row wordt een lock-bottleneck. Verhoog in Redis, flush in batches naar de DB om de paar seconden, en lees de teller uit Redis. De DB bewaart duurzame totalen, niet live verkeer.
Architectuur
Client tap ─▶ API ─▶ Redis INCR views:{post} (live, source of truth voor reads)
│ └── dedup: SADD seen:{post} {user/ip}
▼
elke ~5s / N ops
Flusher ─▶ UPDATE posts SET views = views + delta (duurzaam)
▲
read-pad: GET Redis (fallback DB bij miss)
