Definition

Cache in APIs bezieht sich auf einen temporären Speicherbereich für Daten, um die Anzahl der Serverumläufe und die Verzögerung zu verringern, die mit dem wiederholten Abrufen derselben Daten verbunden sind.

Eine Analogie für den Cache ist der Lebensmittelladen. Wenn der Lebensmittelhändler eine Dose Suppe ins Regal stellt, damit die Kunden sie kaufen können, ist das dasselbe wie wenn eine API die Daten im Cache gespeichert hat. Die Kunden können die Suppe aus dem Regal kaufen, was dasselbe ist, wie wenn ein Client Daten von der API anfordert und sie aus dem Cache abruft. Damit entfällt die Notwendigkeit für den Lebensmittelhändler, die Suppe aus einem Hinterzimmer zu holen oder sie aus dem Lager zu holen, was dasselbe ist, wie wenn der Server jedes Mal eine Anfrage ausführen muss, wenn die Daten von den Kunden benötigt werden.

Bei der Zwischenspeicherung speichert der Server Kopien häufig genutzter oder angeforderter Daten im Cache, um den Zeit- und Ressourcenaufwand für den Abruf dieser Daten zu verringern. Der Server schaut zuerst im Cache nach, ob eine Anfrage bereits dort gespeichert ist, bevor er sie an den Server weiterleitet. Dies kann die Leistung und die Latenzzeit erheblich verbessern, da das Abrufen von Daten vom Server ein teurer Prozess sein kann.

Ein Client kann zum Beispiel ein Bild vom Server anfordern. Wenn das Bild im Cache vorhanden ist, kann der Server es schnell von dort abrufen und an den Client zurücksenden. Wenn das Bild nicht im Cache vorhanden ist, muss der Server es aus der Datenbank abrufen, was länger dauert. Aus diesem Grund ist die Zwischenspeicherung so wichtig für APIs, die häufig dieselben Daten anfordern.

Die Zwischenspeicherung kann auch dazu verwendet werden, Antworten auf komplexe Anfragen zu speichern, um die Zeit zu verkürzen, die die Kunden benötigen, um ihre Daten zu erhalten. Durch die einmalige Zwischenspeicherung der Anfrage können nachfolgende Anfragen von Clients viel schneller erfolgen, da die zwischengespeicherte Anfrage schnell abgerufen werden kann, anstatt dass der Server die komplexe Logik jedes Mal erneut ausführen muss.