“La memorizzazione nella cache è la caratteristica più semplice e potente quando è necessario migliorare la velocità del recupero dei dati da varie fonti. La memorizzazione nella cache si terrà sempre, sia che si tratti di lezioni di lettura delle applicazioni dal database o di più pipeline che scrivono dati a una fonte specifica.
Sebbene la memorizzazione nella cache abbia un ruolo vitale nel recupero dei dati, può portare a errori se il risultato errato viene archiviato nella cache. Ciò può portare alle applicazioni che accedono ai dati dalla cache che riceve risultati falsi.
Pertanto, questo tutorial ti mostrerà come puoi cancellare la cache dal cluster Elasticsearch usando vari endpoint API."
Ci arriviamo, dovremmo?
Tipi di cache di Elasticsearch
Elasticsearch supporta tre tipi principali di cache:
Cache query di nodo
La cache della query del nodo è una cache LRU accessibile da tutti i frammenti su un determinato nodo. Questo tipo di cache memorizza i risultati delle query utilizzate nel contesto del filtro. ElaSticSearch rimuoverà i risultati memorizzati nella cache in base ai valori meno usati (LRU).
Cache dei dati shard
Questo tipo di cache è ampliato su una base di frammenti. Come la cache della query di nodi, la cache dei dati shard utilizza la modalità di sfratto LRU. Inoltre, questo tipo di cache memorizza i risultati delle query di accesso frequente.
Cache dei dati sul campo
La cache dei dati sul campo, d'altra parte, viene utilizzata per l'ordinamento e le operazioni di aggregazione. Ciò consente a Elasticsearch di eseguire rapidamente queste operazioni e salvare la memoria.
Nota: tieni presente che Elasticsearch configura e gestisce le regole di memorizzazione nella cache internamente. Pertanto, raramente dovrai modificare manualmente le regole di memorizzazione nella cache.
Elasticsearch Clear Cache API
Come la maggior parte delle operazioni in Elasticsearch, utilizziamo un endpoint API per eseguire operazioni di scarico della cache.
La sintassi della richiesta è come mostrata:
Post /_Cache /Clear
Prima di utilizzare questo endpoint API, assicurati di avere i privilegi di gestione sull'indice di destinazione, sul flusso di dati o sull'alias.
Esempio 1- Elasticsearch Clear Clear specifico Tipo di cache
L'esempio seguente illustra come cancellare un tipo di cache specifico. I tipi di cache supportati includono:
Ad esempio, per cancellare Fielddata cache, eseguire:
Curl -Xpost "http: // localhost: 9200/_cache/clear?FieldData = true "-H" Kbn -xsrf: reporting "
Dovresti ottenere un output come mostrato:
"_Shards":
"Totale": 10,
"successo": 10,
"fallito": 0
Per cancellare la cache delle query, eseguire:
Curl -Xpost "http: // localhost: 9200/_cache/clear?query = true "-h" kbn -xsrf: reporting "
Output risultante:
"_Shards":
"Totale": 10,
"successo": 10,
"fallito": 0
Infine, per cancellare la cache delle richieste, eseguire la query:
Curl -Xpost "http: // localhost: 9200/_cache/clear?request = true "-h" kbn -xsrf: reporting "
Produzione:
"_Shards":
"Totale": 10,
"successo": 10,
"fallito": 0
Esempio 2 - Cancella cache per indice specifico
Invece di cancellare la cache per tutti i flussi di dati e le indicazioni utilizzando l'API _CACHE/CONRIORE, è possibile specificare un indice specifico che si desidera cancellare, come mostrato nella sintassi seguente:
INVIARE //_Cache/Clear
Dove target rappresenta il nome dell'indice che si desidera utilizzare.
Ad esempio, per cancellare la cache delle query nell'indice del terremoto, possiamo eseguire:
Curl -xpost "http: // localhost: 9200/terremoto/_cache/clear?request = true "-h" kbn -xsrf: reporting "
L'output risultante è come mostrato:
"_Shards":
"totale": 2,
"successo": 2,
"fallito": 0
Esempio 3 - Cancella cache per campi specifici
Per rimuovere solo la cache per campi specifici in un determinato indice, è possibile utilizzare il parametro dei campi e specificare i campi la cui cache si desidera cancellare come valori separati da virgola.
Ad esempio, nell'indice del terremoto, abbiamo campi come latitudine, grandezza, longitudine, ecc.
Per cancellare la cache di questi campi, possiamo eseguire:
Curl -xpost "http: // localhost: 9200/terremoto/_cache/clear?Fields = latitudine, magnitudo, longitudine "-H" kbn -xsrf: reporting "
La richiesta sopra dovrebbe cancellare la cache per i campi specificati e restituire un output di esempio come mostrato:
"_Shards":
"totale": 2,
"successo": 2,
"fallito": 0
Chiusura
Evviva. In questo articolo, impari sulla cache di ElasticSearch, vari tipi di cache in Elasticsearch e altro ancora. Hai anche scoperto come è possibile cancellare la cache per un indice Elasticsearch, chiari tipi di cache specifici, la cache chiara per campi particolari e altro ancora.
Resta sintonizzato per ulteriori informazioni!