{"id":231740,"date":"2022-12-30T10:22:00","date_gmt":"2022-12-30T07:22:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231740"},"modified":"2022-12-30T19:22:27","modified_gmt":"2022-12-30T16:22:27","slug":"comprendre-la-mise-en-cache-dans-wordpress-partie-3","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fr\/comprendre-la-mise-en-cache-dans-wordpress-partie-3\/","title":{"rendered":"Comprendre la mise en cache dans WordPress, partie 3"},"content":{"rendered":"\n<p>Dans les deux articles pr\u00e9c\u00e9dents, j&rsquo;ai parl\u00e9 <a href=\"https:\/\/wordpress.mediadoma.com\/fr\/comprendre-la-mise-en-cache-dans-wordpress-partie-1\/\" title=\"des bases de la mise en cache\">des bases de la mise en cache<\/a> et du <a href=\"https:\/\/wordpress.mediadoma.com\/fr\/comprendre-la-mise-en-cache-dans-wordpress-partie-2\/\" title=\"fonctionnement de la mise en cache dans WordPress\">fonctionnement de la mise en cache dans WordPress<\/a>, au moins dans une certaine mesure.<\/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=\"Comprendre la mise en cache dans WordPress, partie 3\"><\/a><\/p>\n<p>Mais rappelez-vous que cette s\u00e9rie a \u00e9t\u00e9 motiv\u00e9e par un e-mail de quelqu&rsquo;un qui pensait que je pouvais mieux expliquer comment les transitoires et la mise en cache fonctionnent dans WordPress et pourquoi il est important de comprendre comment tout fonctionne en tandem.<\/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=\"Comprendre la mise en cache dans WordPress, partie 3\"><\/a><\/p>\n<p>Donc, dans cet article, je vise \u00e0 tout rassembler et \u00e0 expliquer comment l&rsquo; <a href=\"https:\/\/codex.wordpress.org\/Transients_API\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">API Transients<\/a> fonctionne en conjonction avec <a href=\"https:\/\/www.mysql.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">MySQL<\/a>, pourquoi il est important de comprendre la relation et comment g\u00e9rer cela pour aller de l&rsquo;avant.<\/p>\n<h2>Comment fonctionnent les transitoires dans WordPress ?<\/h2>\n<h3>Comment fonctionnent les transitoires<\/h3>\n<p>Tout d&rsquo;abord, selon le Codex, les transitoires fonctionnent comme ceci :<\/p>\n<blockquote>\n<p>Cette page contient la documentation technique de <strong>WordPress Transients API<\/strong>, qui offre un moyen simple et standardis\u00e9 de stocker temporairement les donn\u00e9es mises en cache dans la base de donn\u00e9es en leur donnant un nom personnalis\u00e9 et un d\u00e9lai apr\u00e8s lequel elles expireront et seront supprim\u00e9es.<\/p>\n<p><a href=\"https:\/\/codex.wordpress.org\/Transients_API\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">API transitoires via le WordPress Codex<\/a><\/p>\n<\/blockquote>\n<p>L&rsquo;id\u00e9e derri\u00e8re cela semble assez simple, non?<\/p>\n<ol>\n<li>Vous enregistrez une option dans la base de donn\u00e9es,<\/li>\n<li>D\u00e9finissez une heure pour combien de temps il devrait exister,<\/li>\n<li>Ensuite, il est stock\u00e9 pendant ce laps de temps<\/li>\n<li>Et, si demand\u00e9 apr\u00e8s expiration, est r\u00e9cup\u00e9r\u00e9 et remis dans son \u00e9tat transitoire.<\/li>\n<\/ol>\n<p>Alors o\u00f9 est la confusion ?<\/p>\n<p>Comme mentionn\u00e9 dans le premier message, je n&rsquo;\u00e9tais pas clair sur la dur\u00e9e pendant laquelle les informations transitoires seraient disponibles. Plut\u00f4t que d&rsquo;\u00eatre un minimum de temps pendant lequel les donn\u00e9es seront disponibles, c&rsquo;est un maximum.<\/p>\n<p>Cela signifie que si vous d\u00e9finissez quelque chose pour qu&rsquo;il soit disponible pendant une journ\u00e9e, il sera disponible pendant une journ\u00e9e. Pas moins; Pas plus. Et une fois ce d\u00e9lai expir\u00e9, il devra \u00eatre recr\u00e9\u00e9 dans l&rsquo;\u00e9tat transitoire une fois de plus.<\/p>\n<p>Au moins, c&rsquo;est la sagesse conventionnelle derri\u00e8re cela. Ce n&rsquo;est pas faux mais il y a plus que \u00e7a. C&rsquo;est l\u00e0 que \u00e7a devient un peu plus technique, cependant.<\/p>\n<h3>Quel r\u00f4le joue MySQL\u00a0?<\/h3>\n<p>Au fur et \u00e0 mesure que WordPress, l&rsquo;h\u00e9bergement et d&rsquo;autres technologies ont m\u00fbri, les bases de donn\u00e9es sous-jacentes qui alimentent l&rsquo;application ont \u00e9galement chang\u00e9. Ce n&rsquo;est ni une bonne ni une mauvaise chose (m\u00eame si nous pourrions peut-\u00eatre dire que c&rsquo;est une bonne chose dans un prochain article).<\/p>\n<p>Mais cela peut aider \u00e0 expliquer pourquoi les transitoires fonctionnent comme ils le font compte tenu de la pile avec laquelle nous avons l&rsquo;habitude de travailler et comment ils peuvent ne pas fonctionner comme pr\u00e9vu sans les syst\u00e8mes de base de donn\u00e9es.<\/p>\n<p>Si vous choisissez d&rsquo;utiliser MySQL comme base de donn\u00e9es pour votre installation WordPress, ce que j&rsquo;ose dire que la plupart des gens font encore, alors les informations qui se trouvent dans la <a href=\"https:\/\/codex.wordpress.org\/Options_API\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">table Options<\/a> (o\u00f9 les transitoires sont \u00e9galement stock\u00e9s), alors l&rsquo;API Transients fonctionnera comme d\u00e9crit ci-dessus.<\/p>\n<p>Mais que se passe-t-il lorsque vous introduisez d&rsquo;autres formes de mise en cache comme la mise en cache d&rsquo;objets via des logiciels comme <a href=\"https:\/\/www.memcached.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Memcached<\/a> ou <a href=\"https:\/\/redis.io\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Redis<\/a>, etc. ?<\/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=\"Comprendre la mise en cache dans WordPress, partie 3\"><\/a><\/p>\n<p>Dans ce cas, les donn\u00e9es peuvent ne pas \u00eatre disponibles comme pr\u00e9vu. En bref, le logiciel de mise en cache peut choisir de supprimer les informations qui ne sont pas demand\u00e9es aussi souvent que les autres informations. C&rsquo;est-\u00e0-dire qu&rsquo;il donne un niveau de priorit\u00e9 aux informations les plus fr\u00e9quemment demand\u00e9es.<\/p>\n<h3>Avancer<\/h3>\n<p>Lorsque vous tenez compte de tout ce qui pr\u00e9c\u00e8de, vous examinez plusieurs choses\u00a0:<\/p>\n<ol>\n<li>l&rsquo;API Transitoires,<\/li>\n<li>une base de donn\u00e9es,<\/li>\n<li>un syst\u00e8me de cache tiers.<\/li>\n<\/ol>\n<p>Lorsque vous avez l&rsquo;API Transients et une base de donn\u00e9es standard, tout ira bien dans la mesure o\u00f9 les choses fonctionneront comme pr\u00e9vu.<\/p>\n<p>Mais si vous introduisez un syst\u00e8me de mise en cache tiers, le r\u00e9sultat peut \u00eatre diff\u00e9rent. Plus pr\u00e9cis\u00e9ment, les choses peuvent ne pas fonctionner \u2013 et ne fonctionneront probablement pas \u2013 comme pr\u00e9vu.<\/p>\n<p>Autrement dit, le syst\u00e8me de mise en cache tiers peut ignorer les informations qu&rsquo;il souhaite supprimer chaque fois qu&rsquo;il pense devoir les supprimer. Cela signifie que tout ce que vous pensez avoir disponible dans le cache n&rsquo;y sera pas.<\/p>\n<p>En fin de compte, le meilleur conseil que je puisse donner est celui-ci :<\/p>\n<ol>\n<li>Si vous utilisez MySQL et l&rsquo;API Transients, les choses fonctionneront comme d\u00e9crit dans le Codex.<\/li>\n<li>Si, d&rsquo;autre part, vous utilisez un autre syst\u00e8me de mise en cache, il est important de comprendre comment il fonctionne et comment vous pouvez \u00e9crire du code dessus pour qu&rsquo;il fonctionne comme vous le souhaitez.<\/li>\n<\/ol>\n<p>Et avec cela, il n&rsquo;y a rien de plus \u00e0 ajouter \u00e0 cette introduction pour comprendre la mise en cache dans WordPress.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Source d&rsquo;enregistrement:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Comprendre la mise en cache dans WordPress est important lors de la cr\u00e9ation de solutions performantes. Mais l&rsquo;API Transients peut ne pas toujours fonctionner. Voici pourquoi.<\/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":[915,893,717,832,748,811,841,1086,862],"tags":[1167],"class_list":["post-231740","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-autre","category-code-2","category-developpeur","category-guide-pour-les-debutants","category-open-source-projektmanagement-2","category-plugins-2","category-tutoriels","category-vitesse-du-site","category-wordpress-3","tag-affiai-fr"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts\/231740","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/comments?post=231740"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts\/231740\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/media\/235967"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/media?parent=231740"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/categories?post=231740"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/tags?post=231740"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}