{"id":231190,"date":"2022-12-30T10:09:00","date_gmt":"2022-12-30T07:09:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231190"},"modified":"2022-12-30T20:10:29","modified_gmt":"2022-12-30T17:10:29","slug":"zrozumienie-buforowania-w-wordpressie-czesc-3","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pl\/zrozumienie-buforowania-w-wordpressie-czesc-3\/","title":{"rendered":"Zrozumienie buforowania w WordPressie, cz\u0119\u015b\u0107 3"},"content":{"rendered":"\n<p>W poprzednich dw\u00f3ch postach m\u00f3wi\u0142em o <a href=\"https:\/\/wordpress.mediadoma.com\/pl\/zrozumienie-buforowania-w-wordpressie-czesc-1\/\" title=\"podstawach buforowania\">podstawach buforowania<\/a> i <a href=\"https:\/\/wordpress.mediadoma.com\/pl\/zrozumienie-buforowania-w-wordpressie-czesc-2\/\" title=\"jak dzia\u0142a buforowanie w WordPressie\">jak dzia\u0142a buforowanie w WordPressie<\/a>, przynajmniej do pewnego stopnia.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-159394-61e6f44620ee5.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-159394-61e6f44620ee5.png\" alt=\"Zrozumienie buforowania w WordPressie, cz\u0119\u015b\u0107 3\"><\/a><\/p>\n<p>Ale pami\u0119taj, \u017ce t\u0119 seri\u0119 zmotywowa\u0142 e-mail od kogo\u015b, kto uwa\u017ca\u0142, \u017ce m\u00f3g\u0142bym lepiej wyja\u015bni\u0107, jak dzia\u0142aj\u0105 transjenty i buforowanie w WordPressie i dlaczego wa\u017cne jest, aby zrozumie\u0107, jak wszystko dzia\u0142a w parze ze sob\u0105.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-159394-61e6f44926a61.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-159394-61e6f44926a61.png\" alt=\"Zrozumienie buforowania w WordPressie, cz\u0119\u015b\u0107 3\"><\/a><\/p>\n<p>W tym po\u015bcie zamierzam zebra\u0107 to wszystko razem i porozmawia\u0107 o tym, jak <a href=\"https:\/\/codex.wordpress.org\/Transients_API\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">interfejs API Transients<\/a> dzia\u0142a w po\u0142\u0105czeniu z <a href=\"https:\/\/www.mysql.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">MySQL<\/a>, dlaczego wa\u017cne jest zrozumienie relacji i jak sobie z tym poradzi\u0107.<\/p>\n<h2>Jak dzia\u0142aj\u0105 transjenty w WordPressie?<\/h2>\n<h3>Jak dzia\u0142aj\u0105 transjenty<\/h3>\n<p>Po pierwsze, zgodnie z Kodeksem, transjenty dzia\u0142aj\u0105 tak:<\/p>\n<blockquote>\n<p>Ta strona zawiera dokumentacj\u0119 techniczn\u0105 <strong>interfejsu API WordPress Transients<\/strong>, kt\u00f3ry oferuje prosty i ustandaryzowany spos\u00f3b tymczasowego przechowywania danych w pami\u0119ci podr\u0119cznej w bazie danych poprzez nadanie im niestandardowej nazwy i ram czasowych, po kt\u00f3rych wygasn\u0105 i zostan\u0105 usuni\u0119te.<\/p>\n<p><a href=\"https:\/\/codex.wordpress.org\/Transients_API\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Transients API za po\u015brednictwem WordPress Codex<\/a><\/p>\n<\/blockquote>\n<p>Pomys\u0142 za tym wydaje si\u0119 do\u015b\u0107 prosty, prawda?<\/p>\n<ol>\n<li>Zapisujesz opcj\u0119 do bazy danych,<\/li>\n<li>Ustaw czas, jak d\u0142ugo ma istnie\u0107,<\/li>\n<li>Nast\u0119pnie jest przechowywany przez ten czas<\/li>\n<li>A na \u017c\u0105danie po wyga\u015bni\u0119ciu jest pobierany i przenoszony z powrotem do stanu przej\u015bciowego.<\/li>\n<\/ol>\n<p>Wi\u0119c gdzie le\u017cy zamieszanie?<\/p>\n<p>Jak wspomnia\u0142em w pierwszym po\u015bcie, nie by\u0142em pewien, jak d\u0142ugo b\u0119d\u0105 dost\u0119pne informacje przej\u015bciowe. Zamiast by\u0107 minimaln\u0105 ilo\u015bci\u0105 czasu, przez kt\u00f3r\u0105 dane b\u0119d\u0105 dost\u0119pne, jest to maksimum.<\/p>\n<p>Oznacza to, \u017ce je\u015bli ustawisz co\u015b, co ma by\u0107 dost\u0119pne na jeden dzie\u0144, b\u0119dzie dost\u0119pne przez jeden dzie\u0144. Nie mniej; ju\u017c nie. A po up\u0142ywie tego czasu b\u0119dzie musia\u0142 zosta\u0107 ponownie odtworzony w stan przej\u015bciowy.<\/p>\n<p>Przynajmniej taka jest konwencjonalna m\u0105dro\u015b\u0107, kt\u00f3ra si\u0119 za tym kryje. To nie jest z\u0142e, ale jest w tym co\u015b wi\u0119cej. W tym miejscu robi si\u0119 jednak nieco bardziej technicznie.<\/p>\n<h3>Jak\u0105 rol\u0119 odgrywa MySQL?<\/h3>\n<p>Wraz z rozwojem WordPressa, hostingu i innych technologii zmieni\u0142y si\u0119 r\u00f3wnie\u017c podstawowe bazy danych, kt\u00f3re nap\u0119dzaj\u0105 aplikacj\u0119. To nie jest ani dobra, ani z\u0142a rzecz (chocia\u017c by\u0107 mo\u017ce mogliby\u015bmy si\u0119 spiera\u0107, \u017ce to dobra rzecz w przysz\u0142ym po\u015bcie).<\/p>\n<p>Mo\u017ce jednak pom\u00f3c wyja\u015bni\u0107, dlaczego transjenty dzia\u0142aj\u0105 tak, jak dzia\u0142aj\u0105, bior\u0105c pod uwag\u0119 stos, z kt\u00f3rym jeste\u015bmy przyzwyczajeni, i jak mog\u0105 nie dzia\u0142a\u0107 zgodnie z oczekiwaniami bez system\u00f3w baz danych.<\/p>\n<p>Je\u015bli zdecydujesz si\u0119 u\u017cy\u0107 MySQL jako bazy danych dla swojej instalacji WordPress, co zaryzykuj\u0119 stwierdzenie, \u017ce wi\u0119kszo\u015b\u0107 ludzi nadal to robi, to informacje znajduj\u0105ce si\u0119 w <a href=\"https:\/\/codex.wordpress.org\/Options_API\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">tabeli Opcje<\/a> (w kt\u00f3rej przechowywane s\u0105 r\u00f3wnie\u017c transjenty), wtedy interfejs API Transients b\u0119dzie dzia\u0142a\u0142 jako opisane powy\u017cej.<\/p>\n<p>Ale co si\u0119 stanie, gdy wprowadzisz inne formy buforowania, takie jak buforowanie obiekt\u00f3w, za pomoc\u0105 oprogramowania takiego jak <a href=\"https:\/\/www.memcached.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Memcached<\/a> lub <a href=\"https:\/\/redis.io\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Redis<\/a> i tak dalej?<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-159394-61e6f44d72d4f.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-159394-61e6f44d72d4f.png\" alt=\"Zrozumienie buforowania w WordPressie, cz\u0119\u015b\u0107 3\"><\/a><\/p>\n<p>W takim przypadku dane mog\u0105 nie by\u0107 dost\u0119pne zgodnie z oczekiwaniami. Kr\u00f3tko m\u00f3wi\u0105c, oprogramowanie buforuj\u0105ce mo\u017ce usun\u0105\u0107 informacje, kt\u00f3re nie s\u0105 wymagane tak cz\u0119sto, jak inne informacje. Oznacza to, \u017ce nadaje poziom priorytetu informacjom, kt\u00f3re s\u0105 cz\u0119\u015bciej wymagane.<\/p>\n<h3>Posuwaj\u0105c si\u0119 do przodu<\/h3>\n<p>Kiedy we\u017amiesz wszystkie powy\u017csze pod uwag\u0119, patrzysz na kilka rzeczy:<\/p>\n<ol>\n<li>API Transients,<\/li>\n<li>baza danych,<\/li>\n<li>system pami\u0119ci podr\u0119cznej innej firmy.<\/li>\n<\/ol>\n<p>Kiedy masz API Transients i standardow\u0105 baz\u0119 danych, wszystko b\u0119dzie dobrze dzia\u0142a\u0107 tak, jak tego oczekujesz.<\/p>\n<p>Ale je\u015bli wprowadzisz system pami\u0119ci podr\u0119cznej innej firmy, wynik mo\u017ce by\u0107 inny. W szczeg\u00f3lno\u015bci rzeczy mog\u0105 nie dzia\u0142a\u0107 \u2013 i prawdopodobnie nie b\u0119d\u0105 \u2013 dzia\u0142a\u0107 w oczekiwany spos\u00f3b.<\/p>\n<p>Oznacza to, \u017ce system pami\u0119ci podr\u0119cznej innej firmy mo\u017ce zignorowa\u0107 wszelkie informacje, kt\u00f3re chce usun\u0105\u0107, gdy uzna, \u017ce \u200b\u200bmusi je usun\u0105\u0107. Oznacza to, \u017ce cokolwiek my\u015blisz, \u017ce masz dost\u0119pne w pami\u0119ci podr\u0119cznej, nie b\u0119dzie tam.<\/p>\n<p>Ostatecznie najlepsz\u0105 rad\u0105, jak\u0105 mog\u0119 udzieli\u0107, jest:<\/p>\n<ol>\n<li>Je\u015bli u\u017cywasz MySQL i interfejsu API Transients, wszystko b\u0119dzie dzia\u0142a\u0107 zgodnie z opisem w Kodeksie.<\/li>\n<li>Z drugiej strony, je\u015bli u\u017cywasz innego systemu buforowania, wa\u017cne jest, aby zrozumie\u0107, jak to dzia\u0142a i jak mo\u017cesz napisa\u0107 na nim kod, aby dzia\u0142a\u0142 tak, jak chcesz.<\/li>\n<\/ol>\n<p>A do tego nie ma nic wi\u0119cej do dodania do tego podk\u0142adu do zrozumienia buforowania w WordPressie.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\u0179r\u00f3d\u0142o nagrywania:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Zrozumienie buforowania w WordPressie jest wa\u017cne przy tworzeniu wydajnych rozwi\u0105za\u0144. Ale interfejs API Transients mo\u017ce nie zawsze dzia\u0142a\u0107. Dlatego.<\/p>\n","protected":false},"author":1,"featured_media":235967,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[721,919,897,752,836,845,1090,866,815],"tags":[1169],"class_list":["post-231190","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-deweloper","category-inny","category-kod","category-otwarte-zrodlo","category-przewodnik-dla-poczatkujacych","category-samouczki","category-szybkosc-witryny","category-wordpress-7","category-wtyczki","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/231190","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/comments?post=231190"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/231190\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media\/235967"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media?parent=231190"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/categories?post=231190"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/tags?post=231190"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}