Caching und Persistenz: Übersicht

Diese Seite gilt für Apigee und Apigee Hybrid.

Apigee Edge-Dokumentation aufrufen

Zu den Persistenz-Features von Apigee gehören Caches, Schlüssel/Wert-Zuordnungen und Attributsätze. Wenn Sie Apigee Hybrid verwenden, können Sie Kubernetes-Secrets verwenden, um vertrauliche Daten beizubehalten.

Option Nutzung
Caches Mithilfe von Richtlinien für das allgemeine Caching können Sie Objekte beibehalten, die Ihr Proxy für mehrere Anfrage-/Antwortsitzungen benötigt. Sie können die Antwort einer Back-End-Ressource auch mit der ResponseCache-Richtlinie im Cache speichern. Das Caching von Antworten ist besonders hilfreich, wenn Back-End-Daten nur ab und zu aktualisiert werden. Die Richtlinie ResponseCache kann Aufrufe an Back-End-Datenquellen reduzieren.
Schlüssel/Wert-Paar-Zuordnungen Schlüssel/Wert-Zuordnungen (KVMs) bieten einen allgemeinen Laufzeitspeicher für Daten, die sich gelegentlich ändern können. Beispiel: KVM-Einträge für Nutzersitzungsdaten, Einkaufswagen usw. können verschlüsselt werden.
Attribut-Gruppen Attribut-Sätze eignen sich zum Speichern von Konfigurationsdaten, die sich nicht häufig ändern.
Kubernetes-Secrets (Nur Apigee Hybrid) Verwenden Sie Secrets zum Speichern vertraulicher Daten wie Nutzeranmeldedaten.

Caching

Umgebungsbezogene Cache-Ressourcen werden dynamisch erstellt, wenn eine Cache-Richtlinie in einem API-Proxy-Ablauf ausgeführt wird. Die Cache-Richtlinien umfassen die PopulateCache-Richtlinie, LookupCache-Richtlinie, InvalidateCache-Richtlinie und ResponseCache-Richtlinie.

Ein im Cache gespeichertes Element verbleibt eine Sekunde lang im Arbeitsspeicher (L1). Sie können diese Konfiguration nicht ändern. Nach einer Sekunde wird das im Cache gespeicherte Objekt in einer Datenbank (L2) abgelegt, in der es verfügbar ist, bis der Cache abläuft. Weitere Informationen finden Sie unter Nichtflüchtige Cache-Ebenen im Speicher. Cache-Details, z. B. die Ablaufzeit, werden durch die Konfiguration einer Cache-Richtlinie verwaltet. Eine Apigee API wird bereitgestellt, mit der Sie Cache-Ressourcen auflisten und löschen können.

Wenn Sie Cache-Richtlinien verwenden, können Sie die Eindeutigkeit von im Cache gespeicherten Wertschlüsseln durch Konfigurieren von Cache-Schlüsseln gewährleisten. Ein Cache-Schlüssel bietet zusammen mit anderen Werten, die Sie konfigurieren können, einen zuverlässigen Weg, um dieselben Daten zu erhalten. Die Cache-Größe und die Verfügbarkeit unterliegen bestimmten Limits.

Mit einem Cache können Sie:

  • Latenz und Traffic reduzieren. Anfragen werden kürzer und mit wiederverwendeten Darstellungen beantwortet.
  • Daten zwischen Transaktionen übergehen. Sie können Sitzungsdaten für die Wiederverwendung über HTTP-Transaktionen speichern.
  • Supportsicherheit. Zugriff auf Cache-Einträge beschränken, sodass auf diese nur in einer bestimmten Umgebung oder über einen bestimmten API-Proxy zugegriffen werden kann.

Antwort-Caching vom Backend

Sie können die Antwort einer Back-End-Ressource mit der Richtlinie ResponseCache im Cache speichern.

Dies ist besonders hilfreich, wenn Back-End-Daten nur ab und zu aktualisiert werden. Die Richtlinie ResponseCache kann Aufrufe an Back-End-Datenquellen reduzieren.

Über die Richtlinie ResponseCache können Sie Apigee auch bestimmte HTTP-Antwort-Caching-Header prüfen und Aktionen gemäß Header-Anweisungen ausführen lassen. Bei Antworten von Back-End-Zielen unterstützt Apigee den Header Cache-Control. Mit diesem Header können Sie unter anderem das maximale Alter einer im Cache gespeicherten Antwort steuern. Weitere Informationen finden Sie unter Unterstützung von HTTP-Antwortheadern.

Kurzfristiges Caching für allgemeine Zwecke

Mithilfe von Richtlinien für das allgemeine Caching können Sie Objekte beibehalten, die Ihr Proxy für mehrere Anfrage-/Antwortsitzungen benötigt.

Mit der PopulateCache-Richtlinie, LookupCache-Richtlinie und InvalidateCache-Richtlinie können Sie im Cache gespeicherte Daten zur Laufzeit erfassen, abrufen und leeren.

Sie können beispielsweise vorübergehend speichern:

  • Sitzungs-IDs für die Sitzungsverwaltung.
  • Anmeldedaten für ausgehende Aufrufe, z. B. API-Schlüssel oder OAuth-Zugriffstoken.
  • Antwortinhalte, die für Anwendungen paginiert werden müssen.

Zur Laufzeit kopieren Ihre Cacherichtlinien die Werte zwischen Proxyvariablen und dem konfigurierten Cache, den Sie angeben. Wenn ein Wert im Cache abgelegt wird, wird er aus der von Ihnen angegebenen Variablen in den Cache kopiert. Wenn er aus dem Cache abgerufen wird, wird er zur Verwendung durch Ihren Proxy in die Variable kopiert.

Ein Beispiel mit Code finden Sie unter Beispiel: Caching für allgemeine Zwecke.

Cache mit der Apigee API verwalten

Sie können Caches mit der Caches API auflisten und löschen.

Langfristige Persistenz mit Schlüssel/Wert-Zuordnungen (KVMs)

Um strukturierte Daten unbegrenzt unverschlüsselt oder unverschlüsselt zu speichern, können Sie Schlüssel/Wert-Zuordnungen (KVMs), die beliebige Schlüssel/Wert-Paare enthalten, erstellen und mit Daten füllen. Sie könnten beispielsweise Folgendes speichern:

  • Eine Zuordnung von IP-Adressen zu Ländercodes.
  • Eine Liste mit IP-Adressen, denen Zugriff gewährt oder verweigert wird.
  • Eine Zuordnung verknüpft lange URLs mit verkürzten URLs.
  • Umgebungsspezifische Daten wie Kontingentzahlen und Ablaufzeiten von OAuth-Tokens.

KVMs können einen von drei Bereichen haben: Organisation, Umgebung, apiproxy. Wenn beispielsweise Schlüssel/Wert-Paare für alle APIs in einer Organisation verwendet werden sollen, müssen Sie eine KVM auf Organisationsebene erstellen. Wenn nur ein bestimmter API-Proxy Zugriff auf Schlüssel/Werte haben soll, erstellen Sie die KVM im apiproxy-Bereich. Weitere Informationen finden Sie unter Mit Schlüssel/Wert-Zuordnungen arbeiten.

Attribut-Gruppen

Ein Attributsatz ist eine benutzerdefinierte Sammlung von Schlüssel/Wert-Paaren, in der Daten gespeichert werden. API-Proxys können diese Daten bei der Ausführung abrufen.

In der Regel verwenden Sie Attributsätze zum Speichern nicht ablaufender Daten, die in Ihrer API-Proxy-Logik nicht hartcodiert sein sollten, wie Konfigurationsdaten. Sie können an einem beliebigen Ort, an dem Sie auf Ablaufvariablen zugreifen können, auf Attributdatensätze zugreifen.

Ein häufiger Anwendungsfall für Attributsätze ist die Bereitstellung von Werten, die einer Umgebung oder einer anderen Umgebung zugeordnet sind. Sie können beispielsweise einen umgebungsbasierten Attributsatz mit Konfigurationswerten erstellen, die für Proxys spezifisch sind, die in Ihrer Testumgebung ausgeführt werden, und einen weiteren Satz für Ihre Produktionsumgebung.

Weitere Informationen finden Sie unter Attributsätze verwenden.

Kubernetes-Secrets

(Nur Apigee Hybrid) Wenn Sie Kubernetes bereits für die Secret-Verwaltung in einem benutzerdefinierten Vault für vertrauliche Daten verwenden, sollten Sie Kubernetes Secrets in Betracht ziehen. Genau wie bei KVM-Daten können Sie auf die Kubernetes-Secret-Daten in API-Proxy-Ablaufvariablen zugreifen. Weitere Informationen finden Sie unter Daten in einem Kubernetes-Secret speichern.