Mikä on välimuisti (cache)?

Joonas Vanhatapio

Välimuisti (engl. cache) voi nopeuttaa sivustoa tallentamalla tiettyjä tietoja, kuten kuvia, tiedostoja ja muita tietoja, jolloin niitä ei tarvitse ladata jokaisella kerralla erikseen. Kotisivut hyötyvätkin yleensä välimuistin käyttöönottamisesta. Toisinaan välimuisti on tarpeen tyhjentää, jotta esimerkiksi sivustolle tehtävät muutokset saadaan näkyviin.

Tämän kirjoituksen jälkeen tiedät, mikä välimuistin rooli sivuston nopeuttamisessa on, millaisia erilaisia välimuisteja on olemassa ja miten välimuisti voidaan tarvittaessa tyhjentää.

Miksi välimuistia tarvitaan?

Välimuisti voi sekä nopeuttaa sivuston toimintaa että auttaa säästämään käytössä olevia resursseja.

Välimuisti nopeuttaa sivuston toimintaa

Ihmiset ovat netissä yleisesti todella kärsimättömiä, eikä sivuston latautumista jakseta yleensä odotella pitkiä aikoja. Kotisivujen latausnopeus vaikuttaa suoraan esimerkiksi sivuston välittömään poistumisprosenttiin ja toisaalta nopealla sivustolla yleensä myös parempi konversioprosentti, eli sen avulla saadaan enemmän kauppaa.

Välimuisti voi onneksi nopeuttaa sivustoa merkittävästi etenkin, jos sivustolla on paljon staattista sisältöä, kuten harvoin vaihtuvia tekstejä ja kuvia. Välimuisti tallentaa erilaisia sivuston tietoja, jonka ansiosta ne voidaan tarjota nopeammin kävijälle.

Välimuisti säästää sivuston käyttämiä resursseja

Jokaisella sivustolla on yleensä tietyn verran resursseja käytettävissä kuukausitasolla. Tyypillisesti webhotellit sisältävät rajoitetun määrän esimerkiksi liikennöintikaista ja levytila.

Hyvin toimiva välimuisti voi auttaa resurssien säästämisessä ja pienemmällä resurssimäärällä saadaan käsiteltyä suurempi kävijämäärä. Erityisesti suurien kävijäpiikkien aikana välimuistin merkitys korostuu. Hyväkään palvelin ei välttämättä kestä yllättäen lisääntynyttä liikennettä, jos sivustolla ei ole käytössä tehokas välimuisti.

Kuinka kotisivujen välimuisti toimii?

Kotisivujen välimuisti säilöö tilapäisesti sivuston sivuja, tiedostoja tai muita tietoja valmiiksi kävijöitä varten.

Esimerkiksi kävijälle voidaan hakea välimuistista näkymä tai osittainen näkymä yksittäisestä alasivusta. Ilman välimuistia jokaiselle sivustolla käyvälle yksittäiselle vierailijalle haettaisiin kaikki näkymät erikseen. Jos sama henkilö vierailee tietyllä sivustolla toistuvasti, voidaan hänen selaimeensa tallentaa välimuistitettu versio sivusta, jolloin sitä ei tarvitse hakea jokaisella kerralla uudestaan.  

Otetaan käytännönläheinen esimerkki. Löydät mielenkiintoisen reseptin tietyltä sivustolta tiistaina. Palaat lukemaan reseptiä kaupassa keskiviikkona ja käyt sitä läpi vielä torstaina, kun valmistat itse ruuan. Tällöin sivusto voitaisiin hakea sinulle suoraan välimuistista, koska on oletettavaa, että resepti ei tässä välissä ehdi muuttua ja tällöin selaimesi ei tarvitsisi jokaisella kerralla pyytää sivuston palvelinta lähettämään uudestaan samaa reseptiä.  

Erilaisia välimuisteja

Välimuisteja on olemassa erilaisia, sillä ne on tarkoitettu hieman eri tarkoituksiin ja ne tallettavatkin hieman eri asioita.

Sisällönjakoverkosto eli CDN (Content Delivery Network) tallentaa välimuistiin sivuston staattisia resursseja, kuten kuvia, videoita ja tyylitiedostoja. Staattisten resurssien tarjoamien CDN:n kautta vähentää sivuston palvelimelle kohdistuvien pyyntöjen määrää.

Palvelintason sivuvälimuisti tallentaa valmiin näkymän sivun sisällöstä välimuistiin, jolloin tietokantaa tai WordPressiä ei tarvita sivun näyttämiseen kävijälle.

Redis-objektivälimuisti välimuistittaa tietokannan sisältöä palvelimen omasta muistista, minkä ansiosta tieto on nopeammin saatavilla. Objektivälimuisti mahdollistaa huomattavasti paremman suorituskyvyn myös jäsenyys- ja verkkokauppasivustoilla, joihin muut välimuistit eivät välttämättä pysty.

Tietokantavälimuisti eli query cache välimuistittaa tietokantaklustereiden palvelimille usein kysyttyjä tietokantakyselyiden tietoja, jotta ne ovat nopeammin saatavilla.

Lisäosana asennettu välimuisti tallentaa yleensä sivuston näkymän staattisena tiedostona ja tarjoaa tämän käyttäjälle. Lisäosana asennetut välimuistit vaativat kuitenkin yleensä WordPressin suorituksen, mikä aiheuttaa sen toimintaan huomattavan viiveen verrattuna palvelintasolla toimivaan sivuvälimuistiin.

Välimuisti eli cache on ikään kuin ihminen, joka voi tehdä montaa asiaa yhtäaikaa.

Voiko välimuistista olla haittaa?

Välimuisti voi toisinaan aiheuttaa sen, että sivustosta näkyy vanha versio kävijälle. Yleensä tämä koskee lähinnä ulkoasullisia muutoksia, eikä niinkään sisältömuutoksia, kuten tekstejä.

Välimuisti olisikin hyvä muistaa ottaa pois päältä tai tyhjentää aika ajoin silloin, kun sivustoa muokataan. Kun muokkaukset ovat valmiit, on tärkeää varmistaa, että olet tyhjentänyt välimuistin ja asettanut sen takaisin päälle. Tällä varmistetaan, että sivusto pyörii sulavasti ja tekemäsi muutokset näkyvät myös kävijöille.

Joskus on mahdollista, että välimuisti tallentaa myös sellaisia tietoja, mitä sen ei pitäisi tallentaa. Esimerkiksi jos välimuisti tallentaisi verkkokaupassa tuotteiden varastosaldoja, voisi käyttäjälle näkyä, että tuotetta on saatavilla ja asiakas saisi virheilmoituksen vasta yrittäessään siirtää tuotetta ostoskoriin.

Tällöin välimuisti on huonosti määritetty, sillä se ei saisi tallentaa tällaisia tietoja. Meidän WP.one-palvelun palvelintason välimuisti on valikoiva, eikä tallenna tällaisia tietoja. Yleensä myöskään lisäosana asennettavat välimuistit eivät tallenna tällaisia tietoja.

Miten asennan välimuistin omalle sivustolle?

Välimuistin käyttöönottaminen riippuu paljon siitä, miten sivusto on toteutettu ja missä se sijaitsee. Osa palveluista tarjoaa suoraan palvelintason välimuistin sivuston käyttöön, mikä tarjoaakin yleensä parhaan suorituskyvyn. Lisäksi CDN:n tarjoamaa välimuistia voidaan yleensä hyödyntää palveluntarjoajasta riippumatta.

Toisaalta, jos käytössä on esimerkiksi suosittu WordPress-julkaisujärjestelmä, voidaan käyttää erillistä lisäosana asennettavaa välimuistia, jos käytössä ei ole palvelintason välimuistia.

WordPressin lisäksi lähes kaikkiin muihinkin julkaisujärjestelmiin saa välimuisti joko erikseen asennettavana lisäosana tai valmiiksi asennettuna, jolloin välimuisti odottaa vain käyttöönottoa ja asetusten määrittämistä.

Palvelinvälimuisti WP.one

WP.one-palvelussamme on jo oletuksena käytössä tehokas palvelintason välimuisti, jolloin WordPress-sivuston omistajan ei tarvitse huolehtia erillisen lisäosan asentamisesta. Lisäosan avulla asennettu välimuisti on suorituskyvyltään yleensä myös selvästi heikompi kuin WP.onesta löytyvä palvelintason välimuisti. Webhotellit eivät yleensä tue palvelintason välimuistia, koska se aiheuttaa helposti ongelmia lukuisten eri julkaisujärjestelmien kanssa.

WP.onen palvelintason sivuvälimuisti on valikoiva, eli se tietää, mitä voidaan tallentaa ja mitä ei. Esimerkiksi verkkokaupan ostoskoreja ei tallenneta sivuvälimuistiin. Lisäpalveluna saatavilla oleva Redis-objektivälimuisti puolestaan mahdollistaa huomattavasti paremman suorituskyvyn myös jäsenyys- ja verkkokauppasivustoilla. Huomioithan, että kaikki sivustot ja lisäosat eivät ole yhteensopivia Redis-välimuistin kanssa.

CDN:n tarjoama välimuisti

WP.one-palvelussa on käytössä myös Bunny CDN:n eli sisällönjakoverkoston tarjoama maailmanlaajuinen tiedostovälimuisti. Lisäksi CDN tarjoaa yleensä myös muita sivustoa nopeuttavia toiminnallisuuksia. Keskimäärin noin puolet sivustojen liikenteestä tarjotaan suoraan CDN:n välimuistista.

CDN:n tarjoama välimuisti on mahdollista saada käyttöön myös ilman WP.one-palvelua. Tämä edellyttää kuitenkin liittymistä maksulliseen CDN-palveluun ja palvelun käyttöönottoa, mikä vaatii hieman edistyneempää teknistä osaamista.

Voiko välimuistista olla haittaa?

Välimuisti voi toisinaan aiheuttaa sen, että sivustosta näkyy vanha versio kävijälle. Yleensä tämä koskee lähinnä ulkoasullisia muutoksia, eikä niinkään sisältömuutoksia, kuten tekstejä.

Välimuisti olisikin hyvä muistaa ottaa pois päältä tai tyhjentää aika ajoin silloin, kun sivustoa muokataan. Kun muokkaukset ovat valmiit, on tärkeää varmistaa, että olet tyhjentänyt välimuistin ja asettanut sen takaisin päälle. Tällä varmistetaan, että sivusto pyörii sulavasti ja tekemäsi muutokset näkyvät myös kävijöille.

Joskus on mahdollista, että välimuisti tallentaa myös sellaisia tietoja, mitä sen ei pitäisi tallentaa. Esimerkiksi jos välimuisti tallentaisi verkkokaupassa tuotteiden varastosaldoja, voisi käyttäjälle näkyä, että tuotetta on saatavilla ja asiakas saisi virheilmoituksen vasta yrittäessään siirtää tuotetta ostoskoriin.

Tällöin välimuisti on huonosti määritetty, sillä se ei saisi tallentaa tällaisia tietoja. Meidän WP.one-palvelun palvelintason välimuisti on valikoiva, eikä tallenna tällaisia tietoja. Yleensä myöskään lisäosana asennettavat välimuistit eivät tallenna tällaisia tietoja.

Miten asennan välimuistin omalle sivustolle?

Välimuistin käyttöönottaminen riippuu paljon siitä, miten sivusto on toteutettu ja missä se sijaitsee. Osa palveluista tarjoaa suoraan palvelintason välimuistin sivuston käyttöön, mikä tarjoaakin yleensä parhaan suorituskyvyn. Lisäksi CDN:n tarjoamaa välimuistia voidaan yleensä hyödyntää palveluntarjoajasta riippumatta.

Toisaalta, jos käytössä on esimerkiksi suosittu WordPress-julkaisujärjestelmä, voidaan käyttää erillistä lisäosana asennettavaa välimuistia, jos käytössä ei ole palvelintason välimuistia.

WordPressin lisäksi lähes kaikkiin muihinkin julkaisujärjestelmiin saa välimuisti joko erikseen asennettavana lisäosana tai valmiiksi asennettuna, jolloin välimuisti odottaa vain käyttöönottoa ja asetusten määrittämistä.

Palvelinvälimuisti WP.one  

WP.one-palvelussamme on jo oletuksena käytössä tehokas palvelintason välimuisti, jolloin WordPress-sivuston omistajan ei tarvitse huolehtia erillisen lisäosan asentamisesta. Lisäosan avulla asennettu välimuisti on suorituskyvyltään yleensä myös selvästi heikompi kuin WP.onesta löytyvä palvelintason välimuisti. Webhotellit eivät yleensä tue palvelintason välimuistia, koska se aiheuttaa helposti ongelmia lukuisten eri julkaisujärjestelmien kanssa.

WP.onen palvelintason sivuvälimuisti on valikoiva, eli se tietää, mitä voidaan tallentaa ja mitä ei. Esimerkiksi verkkokaupan ostoskoreja ei tallenneta sivuvälimuistiin. Lisäpalveluna saatavilla oleva Redis-objektivälimuisti puolestaan mahdollistaa huomattavasti paremman suorituskyvyn myös jäsenyys- ja verkkokauppasivustoilla. Huomioithan, että kaikki sivustot ja lisäosat eivät ole yhteensopivia Redis-välimuistin kanssa.

CDN:n tarjoama välimuisti

WP.one-palvelussa on käytössä myös Bunny CDN:n eli sisällönjakoverkoston tarjoama maailmanlaajuinen tiedostovälimuisti. Lisäksi CDN tarjoaa yleensä myös muita sivustoa nopeuttavia toiminnallisuuksia. Keskimäärin noin puolet sivustojen liikenteestä tarjotaan suoraan CDN:n välimuistista.

CDN:n tarjoama välimuisti on mahdollista saada käyttöön myös ilman WP.one-palvelua. Tämä edellyttää kuitenkin liittymistä maksulliseen CDN-palveluun ja palvelun käyttöönottoa, mikä vaatii hieman edistyneempää teknistä osaamista.

WordPress – WP Rocket -lisäosa

Suosittelemme WordPress-sivustoille WP Rocket -lisäosaa, josta löytyy välimuistin lisäksi muitakin sivuston nopeutta parantavia toimintoja. WP Rocket on maksullinen lisäosa, joka sisältyy WP.one-palveluun maksutta.

Erillisen cache-lisäosan asentaminen on suositeltavaa etenkin webhotellien käyttäjille, koska harva webhotelli itsessään hyödyntää palvelintason välimuistia.

Miten tyhjennetään välimuisti?

Tyypillisesti välimuisti tyhjennetään selaimen asetuksista kohdasta, jossa sanotaan joko historia, selaushistoria tai selaustiedot. Tuon kohdan alta voidaan yleensä määrittää, tyhjennetäänkö selaus- ja lataushistoria sekä välimuisti tietyltä aikaväliltä vai koko ajalta. Halutessaan voi tietenkin tyhjentää ainoastaan välimuistin, jos esimerkiksi selaushistoria on tarpeen säilyttää.

Löydät kuvalliset yksityiskohtaiset ohjeet selaimen välimuistin tyhjentämiseen tukisivustoltamme.

Kokeile WP.onen tehokasta välimuistia

Kokeile WP.one-palvelun tehokasta välimuistia! Siirrämme sivustosi veloituksetta ja palveluun sisältyy 30 päivän tyytyväisyystakuu, eli voit kokeilla riskittä.

  • Tuote alennuksessa
    WP.one Starter
    WP.one Starter
    Hyvä aloituspaketti yrittäjän kotisivuja varten.

    ✓ Verkkotunnus
    ✓ WordPress-asennus
    ✓ 10 Gt levytilaa
    ✓ 1 Gt tietokanta
    ✓ 10 sähköpostia (1 Gt/kpl)

    12 € / kk + alv.
    norm. 24 € / kk + alv.
    12.00 132.00  (alv. 0)
  • WP.one Business
    WP.one Business
    Tehokas peruspaketti verkkokauppiaalle.

    ✓ Verkkotunnus
    ✓ WordPress-asennus
    ✓ 20 Gt levytilaa
    ✓ 2 Gt tietokanta
    ✓ 10 sähköpostia (1 Gt/kpl)

    49 € / kk + alv.
    49.00 539.00  (alv. 0)