Panoramica sulla memorizzazione nella cache e sulla persistenza

Questa pagina si applica a Apigee e Apigee ibridi.

Visualizza documentazione di Apigee Edge.

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

Funzionalità Utilizza
Cache Utilizzando i criteri per la memorizzazione nella cache per uso generico, puoi rendere permanente qualsiasi oggetto del tuo proxy in più sessioni di richiesta/risposta. Puoi anche memorizzare nella cache la risposta risorsa di backend con ResponseCache. La memorizzazione nella cache delle risposte è particolarmente utile i dati vengono aggiornati solo periodicamente. Il criterio ResponseCache può ridurre le chiamate al backend diverse origini dati.
Mappe di valori chiave Le mappe chiave-valore (KVM) forniscono un archivio di runtime generale per i dati che possono cambiare periodicamente. Ad esempio, dati delle sessioni utente, carrello degli acquisti e così via. Le voci KVM possono essere criptate.
Set di proprietà I set di proprietà sono ideali per archiviare dati di configurazione che non cambiano spesso.
Secret Kubernetes (Solo Apigee hybrid) Utilizza i secret per archiviare i dati sensibili come le credenziali utente.

Memorizzazione nella cache

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

Un elemento memorizzato nella cache rimane nella memoria (L1) per un secondo. Non puoi modificare questa configurazione. Dopo un secondo, l'oggetto memorizzato nella cache viene inserito in un database (L2) dove è disponibile la cache scade. Per maggiori dettagli, vedi Livelli di cache permanente in memoria. Puoi gestire i dettagli della cache, come la data di scadenza, tramite configurazione di un criterio di cache. È fornita un'API Apigee che ti consente di elencare e eliminare le risorse della cache.

Quando utilizzi i criteri della cache, garantisci l'univocità delle chiavi dei valori memorizzati nella cache configurazione delle chiavi cache. Una chiave cache, insieme ad altri valori che puoi ti offre un modo affidabile per estrarre gli stessi dati che inserisci. Dimensioni cache e la disponibilità è soggetta a determinate limitazioni.

È consigliabile utilizzare una cache per:

  • Riduci latenza e traffico. Le richieste vengono soddisfatte in meno tempo e con rappresentazioni riutilizzate.
  • Mantieni i dati nelle varie transazioni. Puoi archiviare i dati della sessione per riutilizzarli delle transazioni HTTP.
  • Sostieni la sicurezza. Limita l'accesso alle voci della cache in modo che sia possibile accedervi solo in un particolare 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 ResponseCache.

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

Tramite il criterio ResponseCache, puoi anche consentire ad Apigee di controllare determinate risposte nella cache HTTP ed eseguire azioni in base alle istruzioni di intestazione. Ad esempio, per le risposte del backend di destinazione, Apigee supporta l'intestazione Cache-Control. Questa intestazione può essere utilizzata per controllare l'età massima di una risposta memorizzata nella cache, tra le altre cose. Per ulteriori informazioni, vedi 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 salvare qualsiasi oggetto richiesto dal proxy in più sessioni di richiesta/risposta.

Con PopulateCache norme, LookupCache norme e InvalidateCache norme, puoi compilare, recuperare e svuotare i dati memorizzati nella cache in fase di runtime.

Ad esempio, potresti archiviare temporaneamente:

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

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

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

Gestione della cache con l'API Apigee

Puoi elencare ed eliminare le cache utilizzando API Caches.

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

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

  • Una mappa che mette in relazione gli indirizzi IP con i codici paese.
  • Un elenco di indirizzi IP a cui è consentito o negato l'accesso.
  • Una mappa che mette in relazione gli URL lunghi con gli URL abbreviati.
  • Dati specifici dell'ambiente, ad esempio conteggi delle quote e tempi di scadenza del token OAuth.

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

Set di proprietà

Un insieme di proprietà è una raccolta personalizzata di coppie chiave/valore in cui vengono archiviati i dati. I proxy API possono recuperare questi dati quando vengono eseguiti.

In genere, si utilizzano gli insiemi di proprietà per archiviare i dati non 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à in qualsiasi punto di un proxy in cui possono accedere alle variabili di flusso.

Un caso d'uso comune per gli insiemi di proprietà è fornire valori che associati a un ambiente o all'altro. Ad esempio, puoi crea una proprietà basata sull'ambiente e impostata con valori di configurazione specifiche per i proxy in esecuzione nell'ambiente di test e un altro per il tuo ambiente di produzione.

Per saperne di più, consulta la sezione Utilizzare gli insiemi di proprietà.

Secret Kubernetes

(Solo Apigee hybrid) Se stai già utilizzando Kubernetes per la gestione dei secret in un vault personalizzato potresti prendere in considerazione l'utilizzo dei secret di Kubernetes. Proprio come con i dati KVM, puoi accedere ai dati secret Kubernetes nelle variabili di flusso proxy API. Per ulteriori informazioni, consulta Archiviare i dati in un secret Kubernetes.