Caching delle risposte

La API GraphQL pubblica mette in cache per impostazione predefinita le risposte risolte. Quando un record viene scritto, le risposte in cache che lo referenziavano vengono eliminate.

Attivo per impostazione predefinita, per 60 secondi

Ogni modello che contiene record usa la cache per 60 secondi. Una ripetizione della stessa query entro quella durata restituisce la risposta memorizzata senza risolverla di nuovo. I modelli ordinari condividono una sola voce tra i chiamanti che inviano la stessa query. I modelli i cui record hanno un proprietario sono messi in cache per proprietario.

Invalidazione dopo una scrittura

Creare, aggiornare, eliminare, pubblicare o annullare la pubblicazione di un record elimina ogni risposta in cache che lo referenziava. Una risposta di elenco viene eliminata quando si modifica un qualsiasi record dell'elenco, e i modelli non correlati non vengono toccati. L'invalidazione avviene dopo il commit della scrittura, quindi per alcuni millisecondi una lettura può ancora ricevere la risposta precedente. La durata è la rete di sicurezza se un'invalidazione va persa, e se lo store della cache è irraggiungibile la scrittura viene comunque confermata e la lettura successiva si risolve normalmente.

Regolazione e disattivazione

Durata e ambito si impostano per modello, nella console o nel tuo file di configurazione sotto cacheControl, e un modello può escludersi del tutto. Una singola richiesta può forzare una lettura nuova con un header no-cache. Le mutation e le letture di bozza non vengono mai messe in cache.

Leggere la propria scrittura

La risposta di una mutation porta un X-Foir-Write-Token come header. Invialo con la lettura successiva e il server serve una voce in cache solo se è almeno recente quanto quella scrittura.

Svuotare a mano

Per le modifiche che il percorso di scrittura non vede, foir cache purge svuota un record, un modello o tutto. Una mutation di refresh copre un singolo record il cui contenuto è cambiato in un altro sistema.

Approfondisci

La guida al caching tratta gli ambiti della cache, le impostazioni per modello, gli header delle richieste e l'endpoint condiviso per le CDN.