{"id":231221,"date":"2022-12-30T18:46:00","date_gmt":"2022-12-30T15:46:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231221"},"modified":"2022-12-30T18:50:10","modified_gmt":"2022-12-30T15:50:10","slug":"foerstaa-cachning-i-wordpress-del-1","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/sv\/foerstaa-cachning-i-wordpress-del-1\/","title":{"rendered":"F\u00f6rst\u00e5 cachning i WordPress, del 1"},"content":{"rendered":"\n<p>Tillbaka i maj skrev jag en artikel om <a href=\"https:\/\/wordpress.mediadoma.com\/sv\/anvaender-du-wordpress-transients-istaellet-foer-cookies\/\" title=\"att anv\u00e4nda WordPress Transients API.\">att anv\u00e4nda WordPress Transients API.<\/a> Jag sammanfattar artikeln s\u00e5 h\u00e4r:<\/p>\n<blockquote>\n<p>F\u00f6r att simulera cookies och deras funktion av utg\u00e5ngsdatum kan det vara en g\u00e5ngbar l\u00f6sning att anv\u00e4nda WordPress-transienter.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/sv\/anvaender-du-wordpress-transients-istaellet-foer-cookies\/\">https:\/\/wordpress.mediadoma.com\/sv\/anvaender-du-wordpress-transients-istaellet-foer-cookies\/<\/a><\/p>\n<\/blockquote>\n<p>\u00c4ven om syftet med artikeln var att l\u00e4gga en grund f\u00f6r hur vi kan designa en klass f\u00f6r att fungera med Transients API f\u00f6r att simulera beteendet hos cookies, \u00e4r en av bieffekterna med artikeln att den inte gjorde ett bra jobb att f\u00f6rklara hur Transients API (och, genom proxy, hur MySQL) fungerar.<\/p>\n<p>Detta uppm\u00e4rksammades p\u00e5 mig via e-post av David p\u00e5 <a href=\"https:\/\/updraftplus.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">UpDraft Plus.<\/a><\/p>\n<p>S\u00e5 jag tyckte det var anv\u00e4ndbart att prata om konceptet med cachning fr\u00e5n en praktisk niv\u00e5, hur det implementeras i WordPress, och sedan kanske titta p\u00e5 hur vi anv\u00e4nder plugins eller nyare teknik f\u00f6r att b\u00e4ttre driva v\u00e5ra webbplatser och applikationer samt f\u00e5 en b\u00e4ttre f\u00f6rst\u00e5else.<\/p>\n<h2>F\u00f6rst\u00e5 cachelagring: grunderna<\/h2>\n<p>Konceptet med cachning \u00e4r relativt enkelt. Men jag tror att det b\u00e4st demonstreras genom att f\u00f6rst prata om dataserialisering och h\u00e4mtning utan cachning.<\/p>\n<h3>Utan Caching<\/h3>\n<h4>Att skriva data<\/h4>\n<p>N\u00e4r du skriver information till den underliggande databasen, spelar du in en post \u2013 eller en serie av poster \u2013 till databasen.<\/p>\n<p>Till exempel, n\u00e4r du publicerar ett inl\u00e4gg kommer du att skriva en post till tabellen f\u00f6r inl\u00e4gg och tabell f\u00f6r inl\u00e4ggsmetadata som var och en \u00e4r relaterade till ett inl\u00e4ggs-ID.<\/p>\n<p>Hur de \u00e4r relaterade \u00e4r inte viktigt f\u00f6r det h\u00e4r inl\u00e4gget.<\/p>\n<p>Ist\u00e4llet \u00e4r det som ska f\u00f6rst\u00e5s i den h\u00e4r delen att n\u00e4r data skrivs till databasen skapas minst en post, om inte flera.<\/p>\n<h4>L\u00e4ser data<\/h4>\n<p>N\u00e4r en bes\u00f6kare landar p\u00e5 webbplatsen f\u00f6r att l\u00e4sa just det inl\u00e4gget kommer all information f\u00f6r inl\u00e4gget att beg\u00e4ras fr\u00e5n databasen, skickas till WordPress-applikationen och sedan renderas i front-end.<\/p>\n<p>Se hela denna process som en resa:<\/p>\n<ol>\n<li>\u2753bes\u00f6karen beg\u00e4r sidan,<\/li>\n<li>\ud83d\udd0d webbservern identifierade vilken sida som skulle laddas,<\/li>\n<li>\ud83d\udcc2 sidan beg\u00e4rs fr\u00e5n databasen fr\u00e5n flera tabeller,<\/li>\n<li>\ud83c\udfd7 data samlas och skickas till k\u00e4rnapplikationen,<\/li>\n<li>\ud83d\udda5 uppgifterna presenteras f\u00f6r anv\u00e4ndaren.<\/li>\n<\/ol>\n<p>S\u00e5 resan startar n\u00e4r anv\u00e4ndaren beg\u00e4r en sida och slutar n\u00e4r informationen presenteras f\u00f6r dem i deras webbl\u00e4sare.<\/p>\n<h4>Det \u00e4r en resa<\/h4>\n<p>Och utan cachning h\u00e4nder detta f\u00f6r varje enskild anv\u00e4ndare. Det vill s\u00e4ga, f\u00f6r varje anv\u00e4ndare som bes\u00f6ker din webbplats m\u00e5ste en resa g\u00f6ras.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-159466-61e6f57b465f7.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-159466-61e6f57b465f7.png\" alt=\"F\u00f6rst\u00e5 cachning i WordPress, del 1\"><\/a><\/p>\n<p>Det kan bli v\u00e4ldigt dyrt i form av resurs och tid (s\u00e4rskilt beroende p\u00e5 storleken p\u00e5 din databas).<\/p>\n<p>Men det \u00e4r h\u00e4r caching kan spela in.<\/p>\n<h3>Innan du g\u00e5r in i cachelagring<\/h3>\n<p>Tanken bakom cachning \u00e4r att g\u00f6ra hela processen snabbare. Det vill s\u00e4ga, om vi vet att en resa \u00e4r p\u00e5 v\u00e4g att h\u00e4nda kan vi f\u00f6rvara informationen p\u00e5 en plats s\u00e5 att den redan \u00e4r sammansatt och snabbare att h\u00e4mta.<\/p>\n<p>Innan jag pratar om dock, vilket jag kommer att i n\u00e4sta inl\u00e4gg, notera att detta \u00e4r som att g\u00f6ra en resa till h\u00e5rddisken p\u00e5 servern som webbplatsen \u00e4r v\u00e4rd p\u00e5 varje g\u00e5ng webbplatsen bes\u00f6ks.<\/p>\n<p>Eftersom, i slut\u00e4ndan, databasen, filerna och alla tillg\u00e5ngar som kr\u00e4vs f\u00f6r att driva webbplatsen finns p\u00e5 en h\u00e5rddisk. Och ja, saker som solid-state-enheter kan g\u00f6ra den h\u00e4r processen snabbare, den \u00e4r fortfarande inte s\u00e5 optimal som m\u00f6jligt.<\/p>\n<p>Och det \u00e4r d\u00e4r caching kommer in i bilden. F\u00f6r att b\u00e4ttre f\u00f6rst\u00e5 Transients API \u00e4r det viktigt att f\u00f6rst\u00e5 cachning, vilket f\u00f6rst kr\u00e4ver en grundl\u00e4ggande f\u00f6rst\u00e5else f\u00f6r hur saker fungerar utan cachning.<\/p>\n<h3>Det \u00e4r en Primer<\/h3>\n<p>S\u00e5 betrakta detta som en grundl\u00e4ggande utg\u00e5ngspunkt f\u00f6r hur en databasst\u00f6dd webbplats utan cachning fungerar. Och sedan bygger vi vidare p\u00e5 detta mer i n\u00e4sta inl\u00e4gg.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Inspelningsk\u00e4lla:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>F\u00f6rst\u00e5 cachning i WordPress genom att b\u00f6rja med grunderna genom att f\u00f6rst\u00e5 konceptet med en resa p\u00e5 en webbplats utan cachning.<\/p>\n","protected":false},"author":1,"featured_media":223830,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[838,848,901,922,818,724,1092,868],"tags":[1173],"class_list":["post-231221","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-guide-foer-nyboerjare","category-handledningar","category-koda","category-oevrig","category-plugins-3","category-utvecklaren","category-webbplatshastighet","category-wordpress-9","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/231221","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/comments?post=231221"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/231221\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media\/223830"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media?parent=231221"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/categories?post=231221"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/tags?post=231221"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}