Panoramica su memorizzazione nella cache e persistenza

Questa pagina si applica ad Apigee e Apigee hybrid.

Visualizza la documentazione di Apigee Edge.

Le funzionalità di persistenza di Apigee includono cache, mappe chiave-valore e set di proprietà. Se usi Apigee hybrid, puoi usare i secret di Kubernetes per rendere persistenti i dati sensibili.

Selezione delle Utilizza
Cache Utilizzando i criteri per la memorizzazione nella cache per uso generico, puoi rendere persistenti tutti gli oggetti richiesti dal proxy in più sessioni di richiesta/risposta. Puoi anche memorizzare nella cache la risposta di una risorsa di backend con il criterio ResponseCache. La memorizzazione nella cache delle risposte è particolarmente utile quando i dati di backend vengono aggiornati solo periodicamente. Il criterio ResponseCache può ridurre le chiamate alle origini dati di backend.
Mappe chiave-valore Le mappe chiave-valore (KVM) forniscono un archivio di runtime generale per i dati che potrebbero cambiare periodicamente. Ad esempio, dati delle sessioni utente, carrello degli acquisti e così via. Le voci KVM possono essere criptate.
Insiemi di proprietà I set di proprietà sono ideali per archiviare dati di configurazione che vengono modificati di rado.
Secret Kubernetes (Solo Apigee ibrido) Utilizza i secret per archiviare dati sensibili come le credenziali utente.

Memorizzazione nella cache

Le risorse cache con ambito a livello di ambiente vengono create in modo dinamico quando un criterio di cache viene eseguito all'interno di un flusso proxy API. I criteri della cache includono il criterio PopulateCache, il criterio LookupCache, il Criterio InvalidateCache e il Criterio ResponseCache.

Un elemento memorizzato nella cache rimane in memoria (L1) per un secondo. Non puoi modificare questa configurazione. Dopo un secondo, l'oggetto memorizzato nella cache viene posizionato in un database (L2) dove è disponibile fino alla scadenza della cache. Per maggiori dettagli, vedi Livelli di cache permanenti in memoria. Puoi gestire i dettagli della cache, ad esempio la data di scadenza, tramite la configurazione di un criterio relativo alla cache. Viene fornita un'API Apigee che consente di elencare ed eliminare le risorse della cache.

Quando utilizzi i criteri relativi alla cache, puoi garantire l'univocità delle chiavi dei valori memorizzati nella cache configurando le chiavi cache. Una chiave cache, insieme ad altri valori che puoi configurare, offre un modo affidabile per estrarre gli stessi dati che hai inserito. Le dimensioni e la disponibilità della cache sono soggette a determinati limiti.

È consigliabile utilizzare una cache per:

  • Riduci latenza e traffico. Le richieste vengono soddisfatte in meno tempo e con rappresentazioni riutilizzate.
  • Rendere persistenti i dati tra le transazioni. Puoi archiviare i dati della sessione per riutilizzarli nelle transazioni HTTP.
  • Sicurezza a supporto. Limita l'accesso alle voci della cache in modo che siano accessibili solo in un determinato ambiente o tramite un proxy API specifico.

Memorizzazione nella cache delle risposte di backend

Puoi memorizzare nella cache la risposta di una risorsa di backend con il criterio ResponseCache.

Ciò è particolarmente utile quando i dati di backend vengono aggiornati solo periodicamente. Il criterio ResponseCache può ridurre le chiamate alle origini dati di backend.

Tramite il criterio ResponseCache, puoi anche far sì che Apigee esamini determinate intestazioni di memorizzazione nella cache delle risposte HTTP e intraprenda azioni in base alle istruzioni di intestazione. Ad esempio, nelle risposte dalle destinazioni di backend, Apigee supporta l'intestazione Cache-Control. Questa intestazione può essere utilizzata, ad esempio, per controllare l'età massima di una risposta memorizzata nella cache. Per maggiori informazioni, consulta la pagina sul supporto per le intestazioni delle risposte HTTP.

Memorizzazione nella cache per uso generico a breve termine

Utilizzando i criteri per la memorizzazione nella cache per uso generico, puoi rendere persistenti gli oggetti richiesti dal proxy in più sessioni di richiesta/risposta.

Con il criterio PopulateCache, il criterio LookupCache e il criterio InvalidateCache, puoi completare, recuperare e svuotare i dati memorizzati nella cache in fase di runtime.

Ad esempio, potresti archiviare temporaneamente:

  • ID sessione per la gestione delle sessioni.
  • Le credenziali per le chiamate in uscita (ad esempio, chiavi API o token di accesso OAuth).
  • Contenuti della risposta che devono essere suddivisi in pagine per le app.

In fase di runtime, i criteri relativi alla cache copiano i valori tra le variabili del proxy e la cache configurata da te specificata. Quando un valore viene inserito nella cache, viene copiato dalla variabile specificata nella cache. Quando viene recuperato dalla cache, viene copiato nella variabile per essere utilizzato dal proxy.

Per un esempio con codice, consulta Esempio: memorizzazione nella cache per uso generico.

Gestione della cache con l'API Apigee

Puoi elencare ed eliminare le cache utilizzando l'API cache.

persistenza a lungo termine con mappe chiave-valore (KVM)

Per archiviare a tempo indeterminato dati strutturati criptati o non criptati, puoi creare e compilare mappe chiave-valore (KVM) che contengono coppie chiave/valore arbitrarie. Ad esempio, potresti archiviare:

  • Una mappa che mette in relazione gli indirizzi IP con i codici paese.
  • Un elenco di indirizzi IP a cui è consentito/negato l'accesso.
  • Una mappa che mette in correlazione gli URL lunghi con gli URL abbreviati.
  • Dati specifici dell'ambiente, ad esempio il numero di quote e le date di scadenza dei token OAuth.

I KVM possono avere uno dei tre ambiti: organizzazione, ambiente, apiproxy. Ad esempio, se le coppie chiave/valore devono essere utilizzate per tutte le API di un'organizzazione, crea una KVM nell'ambito dell'organizzazione oppure se solo un proxy API specifico deve avere accesso a chiavi/valori, crea la KVM nell'ambito apiproxy. Per ulteriori informazioni, consulta Utilizzo delle mappe chiave-valore.

Insiemi di proprietà

Un set di proprietà è una raccolta personalizzata di coppie chiave/valore in cui sono archiviati i dati. I proxy API possono recuperare questi dati durante l'esecuzione.

In genere, i set di proprietà vengono utilizzati per archiviare dati in scadenza che non devono essere hardcoded nella logica del proxy API, come i dati di configurazione. Puoi accedere ai dati dei set di proprietà ovunque in un proxy da cui puoi accedere alle variabili di flusso.

Un caso d'uso comune per i set di proprietà è la fornitura di valori associati a un ambiente o a un altro. Ad esempio, puoi creare una proprietà basata sull'ambiente con valori di configurazione specifici per i proxy in esecuzione nel tuo ambiente di test e un altro set per l'ambiente di produzione.

Per ulteriori informazioni, consulta Utilizzare i set di proprietà.

Secret Kubernetes

(Solo Apigee ibrido) Se utilizzi già Kubernetes per la gestione dei secret in un vault personalizzato per i dati sensibili, potresti considerare l'utilizzo dei secret di Kubernetes. Come per i dati KVM, puoi accedere ai dati secret di Kubernetes nelle variabili di flusso del proxy API. Per saperne di più, consulta Archiviazione di dati in un secret di Kubernetes.