Memorizzazione nella cache

Questa pagina illustra la cache integrata di Cloud Storage. Cloud Storage è compatibile anche con CDN di terze parti.

Panoramica

Quando un oggetto Cloud Storage viene memorizzato nella cache, le copie dei dati dell'oggetto vengono memorizzate in una cache di Google o di internet in modo che l'oggetto possa essere pubblicato più rapidamente nelle richieste future. Sebbene la memorizzazione nella cache possa migliorare le prestazioni, rischi anche di pubblicare contenuti obsoleti se apporti aggiornamenti all'oggetto, ma una cache continua a pubblicare la versione precedente dell'oggetto.

Memorizzazione nella cache integrata per Cloud Storage

Cloud Storage può comportarsi come una rete CDN (Content Delivery Network) senza alcuna operazione da parte tua, perché i dati di un oggetto vengono memorizzati nella rete Cloud Storage se i relativi metadati Cache-Control sono impostati per consentire la memorizzazione nella cache e vengono soddisfatti i seguenti criteri:

Cloud Storage rispetta i valori standard per Cache-Control, ad esempio:

  • public: l'oggetto può essere memorizzato nella cache.

  • private: l'oggetto non verrà memorizzato nella cache da Cloud Storage, ma può essere memorizzato nella cache locale di un richiedente.

  • no-cache: l'oggetto può essere memorizzato nella cache, ma non può essere utilizzato per soddisfare richieste future, a meno che non venga prima convalidato da Cloud Storage.

  • no-store: non è possibile memorizzare nella cache l'oggetto.

  • max-age=TIME_IN_SECONDS: il periodo di tempo per cui un oggetto può essere memorizzato nella cache prima di essere considerato non valido. Puoi impostare max-age su qualsiasi periodo di tempo. Gli oggetti obsoleti non vengono pubblicati dalle cache, tranne in circostanze speciali.

Per impostare i metadati Cache-Control di un oggetto, consulta Modificare i metadati degli oggetti.

Comportamento di memorizzazione nella cache integrata con i criteri di rifiuto IAM

Quando esiste un criterio IAM di rifiuto a livello di organizzazione che limita l'accesso in lettura per un oggetto dall'identificatore principale allUsers, la memorizzazione nella cache integrata viene disattivata per l'oggetto, anche se esiste un criterio IAM a livello di bucket che concede l'accesso in lettura per l'oggetto a allUsers. Tuttavia, se il criterio di rifiuto IAM limita solo i singoli utenti, la memorizzazione nella cache integrata rimane attivata per l'oggetto.

Considerazioni sulle prestazioni

Le prestazioni possono essere molto migliori per gli oggetti memorizzabili pubblicamente nella cache. Se utilizzi un oggetto per controllare molti client e vuoi disattivare la memorizzazione nella cache per fornire i dati più recenti:

  • Prova invece a impostare i metadati Cache-Control dell'oggetto su public con max-age di 15-60 secondi. La maggior parte delle applicazioni può tollerare che un oggetto sia obsoleto per alcuni secondi, in cambio di miglioramenti delle prestazioni.

  • Utilizza Cache-Control: no-store per un oggetto per indicare che quell'oggetto non deve essere memorizzato nella cache per le successive richieste in nessuna cache.

Passaggi successivi