✅ Nowości, motywy, wtyczki WEB i WordPress. Tutaj dzielimy się wskazówkami i najlepszymi rozwiązaniami dla stron internetowych.

Zrozumienie buforowania w WordPressie, część 3

9

W poprzednich dwóch postach mówiłem o podstawach buforowania i jak działa buforowanie w WordPressie, przynajmniej do pewnego stopnia.

Zrozumienie buforowania w WordPressie, część 3

Ale pamiętaj, że tę serię zmotywował e-mail od kogoś, kto uważał, że mógłbym lepiej wyjaśnić, jak działają transjenty i buforowanie w WordPressie i dlaczego ważne jest, aby zrozumieć, jak wszystko działa w parze ze sobą.

Zrozumienie buforowania w WordPressie, część 3

W tym poście zamierzam zebrać to wszystko razem i porozmawiać o tym, jak interfejs API Transients działa w połączeniu z MySQL, dlaczego ważne jest zrozumienie relacji i jak sobie z tym poradzić.

Jak działają transjenty w WordPressie?

Jak działają transjenty

Po pierwsze, zgodnie z Kodeksem, transjenty działają tak:

Ta strona zawiera dokumentację techniczną interfejsu API WordPress Transients, który oferuje prosty i ustandaryzowany sposób tymczasowego przechowywania danych w pamięci podręcznej w bazie danych poprzez nadanie im niestandardowej nazwy i ram czasowych, po których wygasną i zostaną usunięte.

Transients API za pośrednictwem WordPress Codex

Pomysł za tym wydaje się dość prosty, prawda?

  1. Zapisujesz opcję do bazy danych,
  2. Ustaw czas, jak długo ma istnieć,
  3. Następnie jest przechowywany przez ten czas
  4. A na żądanie po wygaśnięciu jest pobierany i przenoszony z powrotem do stanu przejściowego.

Więc gdzie leży zamieszanie?

Jak wspomniałem w pierwszym poście, nie byłem pewien, jak długo będą dostępne informacje przejściowe. Zamiast być minimalną ilością czasu, przez którą dane będą dostępne, jest to maksimum.

Oznacza to, że jeśli ustawisz coś, co ma być dostępne na jeden dzień, będzie dostępne przez jeden dzień. Nie mniej; już nie. A po upływie tego czasu będzie musiał zostać ponownie odtworzony w stan przejściowy.

Przynajmniej taka jest konwencjonalna mądrość, która się za tym kryje. To nie jest złe, ale jest w tym coś więcej. W tym miejscu robi się jednak nieco bardziej technicznie.

Jaką rolę odgrywa MySQL?

Wraz z rozwojem WordPressa, hostingu i innych technologii zmieniły się również podstawowe bazy danych, które napędzają aplikację. To nie jest ani dobra, ani zła rzecz (chociaż być może moglibyśmy się spierać, że to dobra rzecz w przyszłym poście).

Może jednak pomóc wyjaśnić, dlaczego transjenty działają tak, jak działają, biorąc pod uwagę stos, z którym jesteśmy przyzwyczajeni, i jak mogą nie działać zgodnie z oczekiwaniami bez systemów baz danych.

Jeśli zdecydujesz się użyć MySQL jako bazy danych dla swojej instalacji WordPress, co zaryzykuję stwierdzenie, że większość ludzi nadal to robi, to informacje znajdujące się w tabeli Opcje (w której przechowywane są również transjenty), wtedy interfejs API Transients będzie działał jako opisane powyżej.

Ale co się stanie, gdy wprowadzisz inne formy buforowania, takie jak buforowanie obiektów, za pomocą oprogramowania takiego jak Memcached lub Redis i tak dalej?

Zrozumienie buforowania w WordPressie, część 3

W takim przypadku dane mogą nie być dostępne zgodnie z oczekiwaniami. Krótko mówiąc, oprogramowanie buforujące może usunąć informacje, które nie są wymagane tak często, jak inne informacje. Oznacza to, że nadaje poziom priorytetu informacjom, które są częściej wymagane.

Posuwając się do przodu

Kiedy weźmiesz wszystkie powyższe pod uwagę, patrzysz na kilka rzeczy:

  1. API Transients,
  2. baza danych,
  3. system pamięci podręcznej innej firmy.

Kiedy masz API Transients i standardową bazę danych, wszystko będzie dobrze działać tak, jak tego oczekujesz.

Ale jeśli wprowadzisz system pamięci podręcznej innej firmy, wynik może być inny. W szczególności rzeczy mogą nie działać – i prawdopodobnie nie będą – działać w oczekiwany sposób.

Oznacza to, że system pamięci podręcznej innej firmy może zignorować wszelkie informacje, które chce usunąć, gdy uzna, że ​​musi je usunąć. Oznacza to, że cokolwiek myślisz, że masz dostępne w pamięci podręcznej, nie będzie tam.

Ostatecznie najlepszą radą, jaką mogę udzielić, jest:

  1. Jeśli używasz MySQL i interfejsu API Transients, wszystko będzie działać zgodnie z opisem w Kodeksie.
  2. Z drugiej strony, jeśli używasz innego systemu buforowania, ważne jest, aby zrozumieć, jak to działa i jak możesz napisać na nim kod, aby działał tak, jak chcesz.

A do tego nie ma nic więcej do dodania do tego podkładu do zrozumienia buforowania w WordPressie.

Źródło nagrywania: tommcfarlin.com

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów