„Buforowanie jest najbardziej podstawową i potężną funkcją, gdy trzeba poprawić szybkość pobierania danych z różnych źródeł. Buforowanie zawsze będzie się utrzymywało, niezależnie od tego, czy aplikacje odczytują dane z bazy danych, czy wiele rurociągów zapisujących dane do określonego źródła.
Chociaż buforowanie odgrywa istotną rolę w pobieraniu danych, może to prowadzić do błędów, jeśli nieprawidłowy wynik jest przechowywany w pamięci podręcznej. Może to prowadzić do dostępu do aplikacji do danych z pamięci podręcznej, które otrzymują fałszywe wyniki.
Dlatego ten samouczek pokaże, w jaki sposób możesz wyczyścić pamięć podręczną z klastra ElasticSearch przy użyciu różnych punktów końcowych API."
Przejdźmy do tego, czy my?
Rodzaje pamięci podręcznej ElasticSearch
ElasticSearch obsługuje trzy główne typy pamięci podręcznej:
Węzeł pamięć podręczna
Pamięć podręczna zapytań węzła to pamięć podręczna LRU dostępna przez wszystkie odłamki w danym węźle. Ten typ pamięci podręcznej przechowuje wyniki zapytań używanych w kontekście filtra. ElasticSearch usunie buforowane wyniki na podstawie najmniej używanych wartości (LRU).
SHARD Data Cache
Ten typ pamięci podręcznej jest zaskoczony odłamkiem. Podobnie jak pamięć podręczna zapytań węzła, pamięć podręczna Data Shard wykorzystuje tryb eksmisji LRU. Ponadto ten typ pamięci podręcznej przechowuje wyniki często dostępu do zapytań.
Pamięć podręczna danych pola
Z drugiej strony, pamięć podręczna danych w terenie jest używana do sortowania i agregacji. Umożliwia to elasticsearch szybkie wykonywanie tych operacji i zapisanie pamięci.
Uwaga: Pamiętaj, że ElasticSearch konfiguruje i zarządza regułami buforowania wewnętrznie. Dlatego rzadko będziesz musiał ręcznie zmieniać zasady buforowania.
Elasticsearch Clear Cache API
Podobnie jak większość operacji w ElasticSearch, używamy punktu końcowego API do wykonywania operacji spłukiwania pamięci podręcznej.
Składnia żądania jest jak pokazana:
Post /_Cache /Clear
Przed użyciem tego punktu końcowego API upewnij się, że masz uprawnienia zarządzania w indeksie docelowym, strumieniu danych lub aliasie.
Przykład 1- Elasticsearch Wyczyść specyficzny typ pamięci podręcznej
Poniższy przykład ilustruje, jak wyczyścić określony typ pamięci podręcznej. Obsługiwane typy pamięci podręcznej obejmują:
Na przykład, aby wyczyścić pamięć podręczną fieldData, uruchom:
curl -xpost "http: // localhost: 9200/_cache/clear?fieldData = true "-h" kbn -xsrf: raportowanie "
Powinieneś uzyskać wyjście, jak pokazano:
„_Shards”:
„Total”: 10,
„Sukces”: 10,
„nieudany”: 0
Aby wyczyścić pamięć podręczną zapytania, uruchom:
curl -xpost "http: // localhost: 9200/_cache/clear?query = true "-h" kbn -xsrf: raportowanie "
Wynikowe wyjście:
„_Shards”:
„Total”: 10,
„Sukces”: 10,
„nieudany”: 0
Na koniec, aby wyczyścić pamięć podręczną żądania, uruchom zapytanie:
curl -xpost "http: // localhost: 9200/_cache/clear?żądanie = true "-h" kbn -xsrf: raportowanie "
Wyjście:
„_Shards”:
„Total”: 10,
„Sukces”: 10,
„nieudany”: 0
Przykład 2 - Wyczyść pamięć podręczną dla określonego indeksu
Zamiast usuwać pamięć podręczną dla wszystkich strumieni danych i wskazów za pomocą interfejsu API _Cache/Clear, możesz określić określony indeks, który chcesz wyczyścić, jak pokazano w poniższej składni:
POST //_Cache/Clear
Gdzie cel reprezentuje nazwę indeksu, którego chcesz użyć.
Na przykład, aby wyczyścić pamięć podręczną zapytania w indeksie trzęsienia ziemi, możemy uruchomić:
curl -xpost "http: // localhost: 9200/trzęsienie ziemi/_cache/clear?żądanie = true "-h" kbn -xsrf: raportowanie "
Powstałe wyjście jest jak pokazano:
„_Shards”:
„Total”: 2,
„Sukces”: 2,
„nieudany”: 0
Przykład 3 - Wyczyść pamięć podręczną dla określonych pól
Aby usunąć tylko pamięć podręczną dla określonych pól w danym indeksie, możesz użyć parametru pól i określić pola, których pamięć podręczna chcesz wyczyścić jako wartości oddzielone przecinkami.
Na przykład w indeksie trzęsienia ziemi mamy pola, takie jak szerokość, wielkość, długość itp.
Aby wyczyścić pamięć podręczną tych pól, możemy uruchomić:
curl -xpost "http: // localhost: 9200/trzęsienie ziemi/_cache/clear?Pola = szerokość, wielkość, długość geograficzna „-H” kbn -xsrf: raportowanie ”
Powyższe żądanie powinno wyczyścić pamięć podręczną dla określonych pól i zwrócić przykładowe dane wyjściowe:
„_Shards”:
„Total”: 2,
„Sukces”: 2,
„nieudany”: 0
Zamknięcie
Brawo. W tym artykule dowiadujesz się o pamięci podręcznej ElasticSearch, różnych typach pamięci podręcznej w ElasticSearch i innych. Odkryłeś także, w jaki sposób możesz wyczyścić pamięć podręczną dla indeksu ElasticSearch, wyczyścić określone typy pamięci podręcznej, wyraźną pamięć podręczną dla poszczególnych pól i więcej.
Bądź na bieżąco o więcej!