✅ WEB- ja WordPress -uutiset, -teemat, -laajennukset. Täällä jaamme vinkkejä ja parhaita verkkosivustoratkaisuja.

Välimuistin ymmärtäminen WordPressissä, osa 3

10

Kahdessa edellisessä viestissä olen puhunut välimuistin perusteista ja siitä, miten välimuisti toimii WordPressissä, ainakin jossain määrin.

Välimuistin ymmärtäminen WordPressissä, osa 3

Mutta muista, että tämän sarjan motiivina oli sähköposti joltakin, joka ajatteli, että voisin paremmin selittää, kuinka transientit ja välimuisti toimivat WordPressissä ja miksi on tärkeää ymmärtää, kuinka kaikki toimii yhdessä toistensa kanssa.

Välimuistin ymmärtäminen WordPressissä, osa 3

Joten tässä viestissä pyrin tuomaan kaiken yhteen ja puhumaan siitä, kuinka Transients API toimii yhdessä MySQL :n kanssa, miksi on tärkeää ymmärtää suhde ja kuinka käsitellä tätä eteenpäin.

Kuinka transientit toimivat WordPressissä?

Kuinka transientit toimivat

Ensinnäkin Codexin mukaan transientit toimivat näin:

Tämä sivu sisältää WordPress Transients API :n teknisen dokumentaation, joka tarjoaa yksinkertaisen ja standardoidun tavan tallentaa välimuistiin tallennettuja tietoja väliaikaisesti tietokantaan antamalla sille mukautettu nimi ja ajanjakso, jonka jälkeen se vanhenee ja poistetaan.

Transients API WordPress Codexin kautta

Ajatus tämän takana näyttää riittävän yksinkertaiselta, eikö?

  1. Tallennat vaihtoehdon tietokantaan,
  2. Aseta aika, kuinka kauan sen pitäisi olla olemassa,
  3. Sitten sitä säilytetään sen ajan
  4. Ja jos sitä pyydetään vanhenemisen jälkeen, se haetaan ja siirretään takaisin väliaikaiseen tilaan.

Joten missä se hämmennys piilee?

Kuten ensimmäisessä viestissä mainittiin, en ollut varma siitä, kuinka kauan ohimenevät tiedot olisivat saatavilla. Sen sijaan, että se olisi vähimmäisaika, jonka tiedot ovat saatavilla, se on enimmäisaika.

Tämä tarkoittaa, että jos asetat jotain olevan saatavilla päiväksi, se on saatavilla päivän ajan. Ei vähempää; ei enempää. Ja kun tuo aika on kulunut umpeen, se on luotava uudelleen ohimenevään tilaan.

Ainakin tämä on sen takana oleva perinteinen viisaus. Se ei ole väärin, mutta siinä on muutakin. Tässä se on kuitenkin hieman teknisempää.

Mikä rooli MySQL:llä on?

Kun WordPress, hosting ja muut tekniikat ovat kehittyneet, myös sovelluksen taustalla olevat tietokannat ovat muuttuneet. Tämä ei ole hyvä tai huono asia (vaikka voisimme ehkä väittää, että se on hyvä asia seuraavassa postauksessa).

Mutta se voi auttaa selittämään, miksi transientit toimivat niin kuin ne toimivat, kun otetaan huomioon pino, jonka kanssa olemme tottuneet työskentelemään, ja kuinka ne eivät ehkä toimi odotetulla tavalla ilman tietokantajärjestelmiä.

Jos päätät käyttää MySQL:ää WordPress-asennuksesi tietokantana, minkä uskallan sanoa, että useimmat ihmiset tekevät edelleen, Asetukset-taulukossa olevat tiedot (johon myös transientit tallennetaan), Transients-sovellusliittymä toimii edellä kuvattu.

Mutta mitä tapahtuu, kun otat käyttöön muita välimuistimuotoja, kuten objektien välimuistiin tallentamista ohjelmistojen, kuten Memcached tai Redis, ja niin edelleen?

Välimuistin ymmärtäminen WordPressissä, osa 3

Siinä tapauksessa tiedot eivät välttämättä ole saatavilla odotetulla tavalla. Lyhyesti sanottuna välimuistiohjelmisto voi halutessaan pudottaa tiedot, joita ei pyydetä niin usein kuin muita tietoja. Toisin sanoen se antaa prioriteettitason tiedoille, joita pyydetään useammin.

Siirtyä eteenpäin

Kun otat kaikki edellä mainitut huomioon, tarkastelet useita asioita:

  1. Transients API,
  2. tietokanta,
  3. kolmannen osapuolen välimuistijärjestelmä.

Kun sinulla on Transients-sovellusliittymä ja vakiotietokanta, pärjäät siinä mielessä, että asiat toimivat odotetulla tavalla.

Mutta jos otat käyttöön kolmannen osapuolen välimuistijärjestelmän, tulos voi olla erilainen. Erityisesti asiat eivät välttämättä toimi – eivätkä todennäköisesti toimikaan – odotetulla tavalla.

Toisin sanoen kolmannen osapuolen välimuistijärjestelmä voi jättää huomioimatta kaikki tiedot, jotka se haluaa pudottaa, kun se katsoo sen tarvitsevan poistaa ne. Tämä tarkoittaa, että välimuistissa ei ole sitä, mitä luulet olevan saatavilla.

Lopulta paras neuvo, jonka voin antaa, on tämä:

  1. Jos käytät MySQL:ää ja Transients API:ta, asiat toimivat Codexissa kuvatulla tavalla.
  2. Jos toisaalta käytät toista välimuistijärjestelmää, on tärkeää ymmärtää, miten se toimii ja kuinka voit kirjoittaa koodia sitä vastaan, jotta se toimisi haluamallasi tavalla.

Eikä tähän alukkeeseen ole enää mitään lisättävää WordPressin välimuistin ymmärtämiseen.

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi. Oletamme, että olet kunnossa, mutta voit halutessasi kieltäytyä. Hyväksyä Lisätietoja