Elasticsearch Clear Cache

Elasticsearch Clear Cache

“Caching er den mest grunnleggende og kraftige funksjonen når du trenger å forbedre hastigheten på data som henter fra forskjellige kilder. Caching vil alltid holde, enten det er applikasjoner som leser data fra databasen eller flere rørledninger som skriver data til en spesifikk kilde.

Selv om hurtigbufring spiller en viktig rolle i henting av data, kan det føre til feil hvis det uriktige resultatet er lagret i hurtigbufferen. Dette kan føre til at applikasjonene får tilgang til dataene fra hurtigbufferen som mottar falske resultater.

Derfor vil denne opplæringen vise deg hvordan du kan fjerne hurtigbufferen fra Elasticsearch -klyngen din ved å bruke forskjellige API -endepunkter.”

La oss komme til det, skal vi?

Elasticsearch Cache -typer

Elasticsearch støtter tre hovedtyper cache:

  1. Node spørring cache
  2. Shard Data Cache
  3. Feltdatabuffer

Node spørring cache

Node Query Cache er en LRU -cache tilgjengelig med alle skjær på en gitt node. Denne cache -typen lagrer resultatene av spørsmål som brukes i filterkonteksten. Elasticsearch vil fjerne hurtigbufrede resultater basert på de minst brukte verdiene (LRU).

Shard Data Cache

Denne hurtigbuffertypen er scoped på shard-for-shard-basis. Som Node Query Cache, bruker Shard Data -cachen LRU Eviction -modus. I tillegg lagrer denne cache -typen resultatene av ofte tilgangsspørsmål.

Feltdatabuffer

Feltdatabuffer, derimot, brukes til sortering og aggregeringsoperasjoner. Dette gjør at Elasticsearch kan utføre disse operasjonene raskt og spare minne.

Merk: Husk at Elasticsearch konfigurerer og administrerer hurtigbufringsreglene internt. Derfor vil du sjelden trenge å endre hurtigbufringsregler manuelt.

Elasticsearch Clear Cache API

Som de fleste operasjoner i Elasticsearch, bruker vi et API -endepunkt for å utføre cache -flush -operasjoner.

Forespørselssyntaks er som vist:

Post /_Cache /Clear

Før du bruker dette API -endepunktet, må du forsikre deg om at du har administrasjonsprivilegiene på målindeksen, datastrømmen eller aliaset.

Eksempel 1- Elasticsearch Clear spesifikk cache-type

Eksemplet nedenfor illustrerer hvordan du kan fjerne en spesifikk cache -type. De støttede cache -typene inkluderer:

  1. FieldData
  2. FUERY
  3. be om

For eksempel for å fjerne FieldData Cache, Kjør:

Curl -xpost "http: // localhost: 9200/_cache/clear?FieldData = True "-H" KBN -XSRF: Rapportering "

Du bør få en utdata som vist:


"_Shards":
"Totalt": 10,
"Vellykket": 10,
"Mislykket": 0

For å fjerne spørringsbuffer, kjør:

Curl -xpost "http: // localhost: 9200/_cache/clear?spørring = sant "-h" kbn -xsrf: rapportering "

Resulterende utgang:


"_Shards":
"Totalt": 10,
"Vellykket": 10,
"Mislykket": 0

Til slutt, for å tømme forespørselsbufferen, kjør spørringen:

Curl -xpost "http: // localhost: 9200/_cache/clear?forespørsel = sant "-h" kbn -xsrf: rapportering "

Produksjon:


"_Shards":
"Totalt": 10,
"Vellykket": 10,
"Mislykket": 0

Eksempel 2 - Klar cache for spesifikk indeks

I stedet for å fjerne hurtigbufferen for alle datastrømmer og indikier ved hjelp av _cache/Clear API, kan du spesifisere en spesifikk indeks du ønsker å tømme, som vist i syntaks nedenfor:

POST //_Cache/Clear

Hvor målet representerer navnet på indeksen du ønsker å bruke.

For å fjerne spørringsbufferen i jordskjelvindeksen, kan vi for eksempel kjøre: for eksempel:

Curl -xpost "http: // localhost: 9200/jordskjelv/_cache/clear?forespørsel = sant "-h" kbn -xsrf: rapportering "

Den resulterende utgangen er som vist:


"_Shards":
"Totalt": 2,
"Vellykket": 2,
"Mislykket": 0

Eksempel 3 - Klar cache for spesifikke felt

For å fjerne bare hurtigbufferen for spesifikke felt i en gitt indeks, kan du bruke feltparameteren og spesifisere feltene hvis cache du ønsker å fjerne som komma-separerte verdier.

For eksempel i jordskjelvindeksen har vi felt som breddegrad, størrelse, lengdegrad osv.

For å tømme hurtigbufferen til disse feltene, kan vi kjøre:

Curl -xpost "http: // localhost: 9200/jordskjelv/_cache/clear?Felt = breddegrad, størrelse, lengdegrad "-h" KBN -XSRF: Rapportering "

Forespørselen ovenfor skal tømme hurtigbufferen for de spesifiserte feltene og returnere en eksempelutgang som vist:


"_Shards":
"Totalt": 2,
"Vellykket": 2,
"Mislykket": 0

Lukking

hurra. I denne artikkelen lærer du om elasticsearch cache, forskjellige cache -typer i Elasticsearch og mer. Du oppdaget også hvordan du kunne fjerne hurtigbuffer for en Elasticsearch -indeks, klare spesifikke cache -typer, den klare cachen for bestemte felt og mer.

Følg med for mer!