Architektur Fortgeschritten
Caching-Strategien — wo und wie cachen¶
CachingRedisPerformance 3 Min. Lesezeit
Cache-aside, Write-through, Write-behind und Cache-Invalidierung. Ein vollständiger Leitfaden.
Cache-Aside¶
async function getUser(id) {
let user = await redis.get(\`user:\${id}\`);
if (user) return JSON.parse(user); // Cache hit
user = await db.query('SELECT * FROM users WHERE id = $1', [id]);
await redis.setex(\`user:\${id}\`, 3600, JSON.stringify(user));
return user;
}
Strategien¶
- Cache-Aside (Lazy Loading) — aus Cache lesen, bei Miss aus DB laden
- Write-Through — Schreiben über Cache in DB, Cache immer aktuell
- Write-Behind — Schreiben in Cache, asynchron in DB (schneller, riskanter)
Invalidierung¶
- TTL — Cache läuft nach einer bestimmten Zeit ab
- Event-driven — bei Datenänderung ein Invalidierungs-Event veröffentlichen
- Version-based — Cache Key enthält eine Version
Zusammenfassung¶
Cache-aside ist der sicherste Einstieg. Haben Sie immer eine Strategie für die Invalidierung. Cache ist eine Optimierung, keine Datenquelle.
Brauchen Sie Hilfe bei der Implementierung?¶
Unser Team hat Erfahrung mit dem Entwurf und der Implementierung moderner Architekturen. Wir helfen Ihnen gerne.