API Response Caching mit LRUCache
Verwenden Sie LRUCache, um API-Antworten zwischenzuspeichern und Netzwerkaufrufe zu reduzieren.
Implementierung
import { LRUCache } from '@msnkr/data-structures';
interface APIResponse {
data: unknown;
timestamp: number;
}
const apiCache = new LRUCache<string, APIResponse>({ capacity: 100 });
async function fetchWithCache(url: string): Promise<unknown> {
// Cache zuerst prüfen
const cached = apiCache.get(url);
if (cached) {
console.log('Cache hit!');
return cached.data;
}
// Von API abrufen
const response = await fetch(url);
const data = await response.json();
// Im Cache speichern
apiCache.put(url, {
data,
timestamp: Date.now(),
});
return data;
}
// Verwendung
await fetchWithCache('/api/users'); // API-Aufruf
await fetchWithCache('/api/users'); // Cache hit!
Vorteile
- Reduzierte Latenz - Sofortige Antwort für zwischengespeicherte Daten
- Geringere Serverlast - Weniger API-Aufrufe
- Automatische Entfernung - Am wenigsten verwendete Elemente werden bei Überfüllung entfernt