“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:
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:
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!