{"id":22170,"date":"2026-11-05T15:00:00","date_gmt":"2026-11-05T14:00:00","guid":{"rendered":"https:\/\/webhosting.de\/?p=22170"},"modified":"2026-11-05T07:23:23","modified_gmt":"2026-11-05T06:23:23","slug":"wordpress-objektcaches-hitrate","status":"publish","type":"post","link":"https:\/\/webhosting.de\/da\/wordpress-object-cache-hit-rate\/","title":{"rendered":"WordPress-objektcache-hitrate: Betydning og fornuftige m\u00e5lv\u00e6rdier"},"content":{"rendered":"<div class=\"wh-article\" data-wh-layout=\"2.1.2\" style=\"width:100%;max-width:820px;margin:0 auto;color:#263b4b;font-family:inherit;font-size:18px;line-height:1.8;text-align:start;overflow-wrap:break-word;box-sizing:border-box\"><p class=\"wh-lead\" style=\"font-size:20px;line-height:1.7;color:#233746;margin:0 0 1.1em\">Hitraten for WordPress Object Cache viser, hvor stor en andel af de registrerede cache-adgange der finder en post. <strong style=\"font-weight:700;color:inherit\">Der findes ikke et generelt g\u00e6ldende m\u00e5lv\u00e6rdi.<\/strong> En Redis-hitrate m\u00e5ler desuden ikke automatisk det samme som visningen fra et WordPress-plugin. Tallet bliver f\u00f8rst meningsfuldt, n\u00e5r m\u00e5leomr\u00e5det, tidsperioden og antallet af adgangsh\u00e6ndelser er kendt. Sammenlign den med svartiderne for vigtige foresp\u00f8rgsler, databasebelastningen og fejlprocenten: P\u00e5 den m\u00e5de kan du se, om en \u00e6ndring af din hjemmeside rent faktisk gavner, i stedet for blot at forbedre et procenttal.  <\/p>\n<nav class=\"wh-toc\" aria-label=\"Indholdet af denne artikel\" style=\"display:block;margin:28px 0 38px;padding:22px;border:1px solid #d9e4e8;border-radius:14px;background:#f4f8f8\"><p class=\"wh-toc-title\" style=\"font-size:13px;font-weight:700;letter-spacing:.08em;color:#49656b;margin:0 0 14px\">G\u00e5 direkte til afsnittet<\/p><div class=\"wh-toc-grid\" style=\"display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:10px\"><div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#object-cache-grundlagen\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">Hvad WordPress-objektcachen gemmer<\/a><\/div>\n<div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#cache-ebenen\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">Forskellen mellem objektcache og sidecache<\/a><\/div>\n<div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#hit-rate-grundlagen\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">Hvad succeser og fiaskoer fort\u00e6ller os<\/a><\/div>\n<div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#messung-vorbereiten\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">Kontroller m\u00e5leomr\u00e5det og adgangen grundigt<\/a><\/div>\n<div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#intervall-berechnen\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">Beregning af Redis-hitrate i et interval<\/a><\/div>\n<div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#messprotokoll-kennzahlen\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">M\u00e5leprotokol og Redis-n\u00f8gletal<\/a><\/div>\n<div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#szenarien-einordnen\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">Koldstart, webshop og statisk hjemmeside<\/a><\/div>\n<div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#fehlersuche-betrieb\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">Unders\u00f8gelse af afvigende v\u00e6rdier og fejl<\/a><\/div>\n<div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#zielwerte-entscheidung\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">Selv fastl\u00e6gge fornuftige m\u00e5lv\u00e6rdier<\/a><\/div>\n<\/div><\/nav><section class=\"wh-section\" aria-labelledby=\"object-cache-grundlagen\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"object-cache-grundlagen\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">Hvad WordPress-objektcachen gemmer<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Der <strong style=\"font-weight:700;color:inherit\">WordPress-objektcache<\/strong> gemmer data under en n\u00f8gle og inden for en gruppe. Hvis WordPress anmoder om den samme v\u00e6rdi igen, kan det hente den fra cachen i stedet for at udf\u00f8re det underliggende arbejde p\u00e5 ny. Dette omfatter for eksempel data, der ellers skulle l\u00e6ses fra databasen eller genberegnes. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Den indbyggede Core-implementering er som standard <strong style=\"font-weight:700;color:inherit\">anmodningsbaseret<\/strong>: Den gemmer sine poster i l\u00f8bet af en enkelt anmodning. Et senere sidebes\u00f8g f\u00e5r derfor ikke automatisk adgang til de tidligere gemte v\u00e6rdier. Alligevel kan cachen undg\u00e5 gentagne adgangsforesp\u00f8rgsler allerede inden for en enkelt anmodning. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">En drop-in kan erstatte Core-implementeringen med en <strong style=\"font-weight:700;color:inherit\">persistent objektcache<\/strong> erstatte. P\u00e5 den m\u00e5de kan relevante poster bevares ud over de enkelte anmodninger. Redis er en mulig backend-l\u00f8sning, men ikke en foruds\u00e6tning for WordPress; andre backend-l\u00f8sninger er ogs\u00e5 mulige. Selv med en persistent drop-in kan visse grupper fortsat kun g\u00e6lde for den aktuelle anmodning. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Transienter er en anden mulighed for at gemme data, der kun er n\u00f8dvendige i en begr\u00e6nset periode. Med en persistent objektcache kan de gemmes der, i stedet for som normalt i databasen. Deres udl\u00f8bstid angiver ikke en garanteret minimums tilg\u00e6ngelighed: En v\u00e6rdi kan forsvinde f\u00f8r tid. Applikationskoden skal derfor tage h\u00f8jde for, at en transient kan mangle, og v\u00e6re i stand til at gendanne v\u00e6rdien, hvis det er n\u00f8dvendigt.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Denne skelnen er afg\u00f8rende for den senere vurdering af en hitrate: Adgang til den lokale cache under en anmodning og adgang til et eksternt backend er ikke n\u00f8dvendigvis det samme m\u00e5leparameter. Kontroller derfor f\u00f8rst, hvilken implementering der rent faktisk anvendes, og hvilke data den lagrer permanent.<\/p>\n<\/section><section class=\"wh-section\" aria-labelledby=\"cache-ebenen\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"cache-ebenen\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">Forskellen mellem objektcache og sidecache<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">N\u00e5r en side \u00e5bnes, kan en <strong style=\"font-weight:700;color:inherit\">Side-cache<\/strong> levere et allerede genereret sidesvar. Hvis foresp\u00f8rgslen besvares der, beh\u00f8ver den ikke at genneml\u00f8be den samme WordPress-applikationssti som en foresp\u00f8rgsel, der ikke er gemt i cachen. Objektcachen arbejder derimod inden for applikationen med enkelte cachelagrede data, ikke med det fulde sidesvar. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Forestil dig en offentligt tilg\u00e6ngelig artikelside: Hvis svaret findes i sidecachen, kan den leveres med det samme. Skal WordPress derimod generere siden, kan objektcachen hj\u00e6lpe ved gentagne dataadgange. Hvilket arbejde der dermed faktisk spares, afh\u00e6nger af foresp\u00f8rgslen, de gemte poster og den p\u00e5g\u00e6ldende implementering. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Det har konsekvenser for fortolkningen: En god objektcache-procent beskriver kun de registrerede cache-adgange. Den siger ikke umiddelbart, hvor mange bes\u00f8gende der allerede modtager et f\u00e6rdigt svar fra sidecachen, eller hvor hurtigt hele hjemmesiden reagerer. Ved intensiv sidecaching kan fordelene ved objektcachen is\u00e6r blive synlige i de resterende WordPress-anmodninger.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Ogs\u00e5 browser- og opcode-cachen udf\u00f8rer andre opgaver. Browser-cachen gemmer ressourcer hos den bes\u00f8gende; en PHP-opcode-cache gemmer kompileret PHP-kode. Ingen af dem erstatter hverken lagringen af individuelle applikationsdata i objektcachen eller leveringen af et komplet svar fra en sidecache.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Konstanten <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">WP_CACHE<\/code> Dette aktiverer ikke i sig selv en Redis-objektcache. For at f\u00e5 en persistent objektcache skal du have en passende implementering og den tilh\u00f8rende konfiguration. Et supplerende eksempel p\u00e5 samspillet mellem flere niveauer finder du i indl\u00e6gget om <a href=\"https:\/\/webhosting.de\/da\/cloudlinux-acceleratewp-cachemotor-forbedring-af-wordpress-ydeevnen\/\">AccelerateWP Cache Engine<\/a>.  <\/p>\n<\/section><section class=\"wh-section\" aria-labelledby=\"hit-rate-grundlagen\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"hit-rate-grundlagen\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">Hvad succeser og fiaskoer fort\u00e6ller os<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">En <strong style=\"font-weight:700;color:inherit\">Hit<\/strong> foreligger, n\u00e5r en efterspurgt post findes p\u00e5 det p\u00e5g\u00e6ldende cache-niveau. En <strong style=\"font-weight:700;color:inherit\">Fr\u00f8ken<\/strong> betyder, at den ikke findes der. Hitraten angiver forholdet mellem antallet af hits og det samlede antal registrerede hits og fejlfors\u00f8g: Hits \/ (Hits + Fejl) \u00d7 100. Hvis der hverken er hits eller fejl, er raten for denne periode ikke defineret. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">En fejl er ikke n\u00f8dvendigvis en teknisk fejl. Ved den f\u00f8rste adgang kan en post stadig mangle; selv efter udl\u00f8bet skal den i givet fald hentes eller oprettes p\u00e5 ny. Det afg\u00f8rende er, hvilke konsekvenser s\u00e5danne mislykkede fors\u00f8g har for den konkrete proces, og om det overhovedet giver mening at gentage adgangen.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">WordPress\u2019 Core-metode t\u00e6ller i sin egen implementering cache-hits og fejlfors\u00f8g. En drop-in kan dog erstatte denne implementering. Derfor kan man ikke med sikkerhed udlede af kernens t\u00e6llingsmetode, hvad en plugin-visning registrerer: Kontroller for den anvendte version, hvilke adgangsh\u00e6ndelser og hvilket tidsrum dens n\u00f8gletal omfatter.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Redis melder med <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">keyspace_hits<\/code> og <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">keyspace_misses<\/code> vellykkede henholdsvis mislykkede n\u00f8gleopslag i Redis-n\u00f8gleomr\u00e5det. Ogs\u00e5 et mislykket <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">EXISTS<\/code>-En s\u00e5dan handling kan t\u00e6lle som en fejl. Denne <strong style=\"font-weight:700;color:inherit\">Redis-tr\u00e6ffeprocent<\/strong> kan derfor ikke automatisk sidestilles med en WordPress- eller plugin-kvote. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Hvis en Redis-instans betjener flere hjemmesider eller applikationer, kan dens t\u00e6llere samlet afspejle deres bes\u00f8gstal. En global kvote kan derfor ikke p\u00e5lideligt tilskrives en enkelt WordPress-hjemmeside uden passende, separat telemetri. Ved enhver sammenligning b\u00f8r du derfor notere, hvilket niveau og hvilken instans tallene overhovedet beskriver.<\/p>\n<\/section><section class=\"wh-section\" aria-labelledby=\"messung-vorbereiten\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"messung-vorbereiten\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">Kontroller m\u00e5leomr\u00e5det og adgangen grundigt<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">F\u00f8r m\u00e5lingen skal du finde ud af, hvilken objektcache-implementering WordPress bruger. Hvis WP-CLI er tilg\u00e6ngeligt, og du har adgang til WordPress-mappen, kan du starte en l\u00e6se-opg\u00f8relse der med f\u00f8lgende kommando: <\/p>\n<div class=\"wh-code-window\" data-wh-code style=\"margin:28px 0 34px;border:1px solid #2c4656;border-radius:12px;overflow:hidden;background:#132a3b;box-shadow:0 9px 25px -13px rgba(15,35,55,.2)\"><div class=\"wh-code-toolbar\" style=\"display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:11px 16px;background:#223e50;color:#edf5fa;font-size:13px;line-height:1.5;font-weight:600\"><span>Terminal<\/span><button type=\"button\" class=\"wh-code-copy\" data-wh-copy hidden style=\"padding:6px 11px;border:1px solid #7893a1;border-radius:6px;background:transparent;color:#fff;font-size:12px;line-height:1.5;font-weight:600;cursor:pointer\">Kopier kode<\/button><span class=\"wh-copy-status\" aria-live=\"polite\"><\/span><span data-wh-copy-success hidden>Kopieret<\/span><span data-wh-copy-fallback hidden>Kode er markeret \u2013 kopier venligst<\/span><\/div><pre class=\"wh-code\" data-no-translation translate=\"no\" style=\"display:block;margin:0;padding:20px;max-width:100%;overflow-x:auto;color:#edf5fa;background:#132a3b;font:14px\/1.75 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre;direction:ltr;text-align:left\"><code class=\"language-bash\" style=\"font:inherit;color:inherit;background:transparent;padding:0;border:0;white-space:inherit\">wp cache type<\/code><\/pre><\/div><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Resultatet hj\u00e6lper med at vurdere implementeringen, men beviser ikke, at alle relevante adgangsh\u00e6ndelser gemmes permanent. WordPress tillader, at et drop-in erstatter kerne-cachen; samtidig kan enkelte grupper v\u00e6re ikke-permanente. Not\u00e9r derfor ogs\u00e5 det anvendte drop-in eller plugin og dets version.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Tjek i dokumentationen for den konkrete version, hvilke adgangsh\u00e6ndelser der indg\u00e5r i de viste hits og misses, og over hvilket tidsrum de t\u00e6lles. En plugin-kvote kan kun sammenlignes meningsfuldt med en anden n\u00f8gletal, hvis m\u00e5leomr\u00e5det og t\u00e6llingsmetoden er kendt. Det er is\u00e6r vigtigt at vide, om visningen kun beskriver en enkelt anmodning eller et l\u00e6ngere tidsvindue.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">For Redis kan du, forudsat at der er forbindelse og de n\u00f8dvendige rettigheder, hente statistik- og hukommelsesoplysninger i en Redis-CLI-session i l\u00e6semodus. F\u00f8lgende kommandoer indeholder bevidst ingen adgangsoplysninger: <\/p>\n<div class=\"wh-code-window\" data-wh-code style=\"margin:28px 0 34px;border:1px solid #2c4656;border-radius:12px;overflow:hidden;background:#132a3b;box-shadow:0 9px 25px -13px rgba(15,35,55,.2)\"><div class=\"wh-code-toolbar\" style=\"display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:11px 16px;background:#223e50;color:#edf5fa;font-size:13px;line-height:1.5;font-weight:600\"><span>Kode<\/span><button type=\"button\" class=\"wh-code-copy\" data-wh-copy hidden style=\"padding:6px 11px;border:1px solid #7893a1;border-radius:6px;background:transparent;color:#fff;font-size:12px;line-height:1.5;font-weight:600;cursor:pointer\">Kopier kode<\/button><span class=\"wh-copy-status\" aria-live=\"polite\"><\/span><span data-wh-copy-success hidden>Kopieret<\/span><span data-wh-copy-fallback hidden>Kode er markeret \u2013 kopier venligst<\/span><\/div><pre class=\"wh-code\" data-no-translation translate=\"no\" style=\"display:block;margin:0;padding:20px;max-width:100%;overflow-x:auto;color:#edf5fa;background:#132a3b;font:14px\/1.75 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre;direction:ltr;text-align:left\"><code class=\"language-redis\" style=\"font:inherit;color:inherit;background:transparent;padding:0;border:0;white-space:inherit\">INFO stats\nINFO memory<\/code><\/pre><\/div><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Dokumenter <strong style=\"font-weight:700;color:inherit\">M\u00e5leomr\u00e5de<\/strong>: Hvilke instanser eller noder er der blevet forespurgt p\u00e5, og hvilke andre websteder eller applikationer bruger de? Globale Redis-t\u00e6llere kan ikke umiddelbart tilknyttes et enkelt websted, n\u00e5r de deles. Kontroller udskrifterne for f\u00f8lsomme driftsoplysninger, inden de videregives; hverken en flush eller en belastningstest er n\u00f8dvendig for denne statusopg\u00f8relse.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Hvis du ikke har adgang til Redis-CLI\u2019en, skal du sp\u00f8rge din hostingudbyder om de tilg\u00e6ngelige m\u00e5linger og deres anvendelsesomr\u00e5de. Et dashboard er kun et brugbart grundlag, hvis det fremg\u00e5r klart, om det viser den samme instans, enkelte noder eller allerede aggregerede v\u00e6rdier.<\/p>\n<\/section><section class=\"wh-section\" aria-labelledby=\"intervall-berechnen\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"intervall-berechnen\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">Beregning af Redis-hitrate i et interval<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Redis-statistikker er t\u00e6llertal, ikke en f\u00e6rdig konklusion om et bestemt m\u00e5leinterval. For at foretage en intervalanalyse skal du l\u00e6se v\u00e6rdierne for <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">keyspace_hits<\/code> og <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">keyspace_misses<\/code> ved begyndelsen og slutningen af det samme fastlagte tidsvindue fra den samme instans. Not\u00e9r begge tidspunkter og den tilh\u00f8rende instans, s\u00e5 afl\u00e6sningerne stemmer overens.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Tr\u00e6k derefter startv\u00e6rdien fra slutv\u00e6rdien for hver t\u00e6ller. Den <strong style=\"font-weight:700;color:inherit\">Interval-hit-rate<\/strong> er: \u0394Hits \/ (\u0394Hits + \u0394Misses) \u00d7 100. Tegnet \u0394 angiver den p\u00e5g\u00e6ldende forskel. Hvis begge forskelle er nul, blev der ikke registreret nogen opslag i dette vindue; i s\u00e5 fald er andelen ikke defineret i stedet for at v\u00e6re nul procent.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Et illustrativt regneeksempel, ikke en m\u00e5ling: Hvis antallet af hits stiger med 900 og antallet af misses med 100, giver det 90 procent ud af i alt 1.000 t\u00e6llede opslag. Det betyder hverken, at siderne er 90 procent hurtigere, eller at der er sparet n\u00f8jagtigt 900 databaseforesp\u00f8rgsler. Redis t\u00e6ller n\u00f8gleopslag; deres betydning for applikationen afh\u00e6nger af den p\u00e5g\u00e6ldende adgang.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Hvis en af t\u00e6llerne falder mellem afl\u00e6sningerne, er den simple forskel ved denne br\u00f8k ikke gyldig. Dette kan skyldes en genstart eller en nulstilling af statistikkerne. Start m\u00e5levinduet forfra, eller opdel det ved bruddet p\u00e5 baggrund af p\u00e5lidelige driftsdata, i stedet for at inds\u00e6tte en negativ v\u00e6rdi i formlen.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Hvis der er flere knudepunkter, beregner du f\u00f8rst forskellene for hvert relevant knudepunkt over den samme periode. Derefter l\u00e6gger du hits og misses sammen hver for sig og udleder den samlede andel ud fra dette. Et uv\u00e6gtet gennemsnit af de enkelte procentv\u00e6rdier behandler en node med f\u00e5 opslag p\u00e5 samme m\u00e5de som en med mange; det kan forvride det samlede billede betydeligt.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Not\u00e9r dig, hvilke noder der rent faktisk indg\u00e5r, og hvilken rolle de spiller i milj\u00f8et. En samlet rate, der er beregnet p\u00e5 denne m\u00e5de, beskriver kun de udvalgte t\u00e6llere og deres brugere; den bliver ikke alene til en specifik WordPress-Object-Cache-kvote ved sammenl\u00e6gning.<\/p>\n<\/section><section class=\"wh-section\" aria-labelledby=\"messprotokoll-kennzahlen\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"messprotokoll-kennzahlen\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">M\u00e5leprotokol og Redis-n\u00f8gletal<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Ud over hits og misses er der yderligere Redis-t\u00e6llere, der hj\u00e6lper med at s\u00e6tte tingene i perspektiv. Ogs\u00e5 her er forskelle inden for den valgte periode mere sigende end isolerede samletal. Den f\u00f8lgende tabel skelner mellem v\u00e6rdiernes betydning og de konklusioner, som de ikke alene kan underbygge.   <\/p>\n<div class=\"wh-table-scroll\" tabindex=\"0\" role=\"region\" aria-label=\"Redis-n\u00f8gletal og begr\u00e6nsninger ved deres fortolkning\" style=\"width:100%;max-width:100%;overflow-x:auto;margin:28px 0;border:1px solid #dce5e9;border-radius:14px;background:#fff;box-shadow:0 10px 28px -16px rgba(24,47,60,.32);box-sizing:border-box\"><table style=\"width:100%;min-width:580px;border-collapse:separate;border-spacing:0;border:0;margin:0;font-size:15px;line-height:1.6;background:#fff\"><caption style=\"padding:20px;text-align:start;font-size:17px;line-height:1.5;font-weight:700;color:#173246;background:#fff\">Redis-n\u00f8gletal og begr\u00e6nsninger ved deres fortolkning<\/caption><thead><tr><th scope=\"col\" style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#19394d;color:#fff\">N\u00f8gletal<\/th><th scope=\"col\" style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#19394d;color:#fff\">Betydning<\/th><th scope=\"col\" style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#19394d;color:#fff\">Fortolkningsgr\u00e6nse<\/th><\/tr><\/thead><tbody><tr><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">keyspace_hits<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">Vellykkede n\u00f8gleopslag<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">Der er ingen direkte dokumentation for f\u00e6rre databaseforesp\u00f8rgsler eller hurtigere sider.<\/td><\/tr><tr><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">keyspace_misses<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">Mislykkede n\u00f8gleopslag<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">Selv et mislykket EXISTS kan t\u00e6lle med; et \u00bbMiss\u00ab er ikke n\u00f8dvendigvis en fejl.<\/td><\/tr><tr><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">udl\u00f8bne_n\u00f8gler<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">Udl\u00f8bne n\u00f8gler<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">En stigning i sig selv er ikke bevis p\u00e5, at levetiden er valgt forkert.<\/td><\/tr><tr><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">udsatte_n\u00f8gler<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">N\u00f8gler, der er blevet fortr\u00e6ngt p\u00e5 grund af lagerbegr\u00e6nsningen<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">Kontroller i forbindelse med lagergr\u00e6nsen og eviction-konfigurationen; dette betyder ikke n\u00f8dvendigvis, at der er en konkret \u00e5rsag til langsomme anmodninger.<\/td><\/tr><\/tbody><\/table><\/div><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">En stigning p\u00e5 <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">expired_keys<\/code> kan v\u00e6re en anledning til at se n\u00e6rmere p\u00e5 levetider og adgangsm\u00f8nstre. Det viser dog ikke, om en post blev brugt igen kort efter, at den var udl\u00f8bet. Ligeledes er <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">evicted_keys<\/code> skal ses i sammenh\u00e6ng med den konfigurerede lagergr\u00e6nse og fortr\u00e6ngningsstrategien, i stedet for straks at konkludere, at lagerkapaciteten skal \u00f8ges.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Et brugbart <strong style=\"font-weight:700;color:inherit\">M\u00e5leprotokol<\/strong> Angiv start- og slutpunktet for tidsvinduet, instansen henholdsvis noden, de to t\u00e6llerdifferencer, deres sum og det beregnede forholdstal. Angiv desuden, om instansen deles, og om der er kendskab til en genstart eller en nulstilling i l\u00f8bet af tidsvinduet. P\u00e5 den m\u00e5de forbliver m\u00e5lingerne sporbare senere.<\/p>\n<figure class=\"wp-block-image size-large wh-figure\" aria-describedby=\"wh-caption-detail1\" style=\"display:block;float:none;clear:both;width:100%;max-width:760px;margin:34px auto 40px;border:1px solid #dae5e9;border-radius:14px;overflow:hidden;background:#f5f8fa;box-shadow:0 10px 28px -17px rgba(24,47,60,.28);box-sizing:border-box\"><div class=\"wh-figure-media\" style=\"display:block;background:#eef3f5;line-height:0\"><img loading=\"lazy\" width=\"800\" height=\"534\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/11\/cache-messprotokoll-zeitfenster-b3a40a50-detail1-a1decd586e-1024x683.webp\" class=\"wp-image-22173\" alt=\"Et AI-genereret symbolbillede af en notesbog med en pen og et analogt v\u00e6kkeur p\u00e5 et brugt skrivebord.\" decoding=\"async\" srcset=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/11\/cache-messprotokoll-zeitfenster-b3a40a50-detail1-a1decd586e-1024x683.webp 1024w, https:\/\/webhosting.de\/wp-content\/uploads\/2026\/11\/cache-messprotokoll-zeitfenster-b3a40a50-detail1-a1decd586e-300x200.webp 300w, https:\/\/webhosting.de\/wp-content\/uploads\/2026\/11\/cache-messprotokoll-zeitfenster-b3a40a50-detail1-a1decd586e-768x512.webp 768w, https:\/\/webhosting.de\/wp-content\/uploads\/2026\/11\/cache-messprotokoll-zeitfenster-b3a40a50-detail1-a1decd586e-18x12.webp 18w, https:\/\/webhosting.de\/wp-content\/uploads\/2026\/11\/cache-messprotokoll-zeitfenster-b3a40a50-detail1-a1decd586e.webp 1536w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" ><\/div><figcaption class=\"wh-caption\" id=\"wh-caption-detail1\" style=\"display:block;margin:0;padding:12px 18px 15px;border-top:1px solid #dce5e9;color:#506575;background:#f5f8fa;font-size:14px;line-height:1.55;text-align:start\">AI-genereret illustrativt billede: Et fastlagt tidsvindue er en del af en overskuelig m\u00e5leprotokol.<\/figcaption><\/figure><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Registrer samtidig den p\u00e5g\u00e6ldende anmodningstype og et passende latenstalsindikator samt databasebelastning og fejlrate. Adskil f.eks. offentlige sidevisninger fra anmodninger fra indloggede brugere, hvis der foreligger relevante data herom. Redis-kvoten alene afsl\u00f8rer ikke, hvilken af disse anmodningstyper der har draget fordel af et hit.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">For at kunne foretage en senere sammenligning b\u00f8r tidsperioden, knudepunkterne og sammens\u00e6tningen af anmodninger v\u00e6re s\u00e5 ens som muligt. Not\u00e9r desuden relevante \u00e6ndringer og m\u00e6rkbare opvarmningsfaser. Hvor der mangler data, eller hvor en f\u00e6lles instans ikke tillader en sammenkobling, skal denne begr\u00e6nsning fremg\u00e5 af protokollen i stedet for at indg\u00e5 i en tilsyneladende pr\u00e6cis konklusion.<\/p>\n<\/section><section class=\"wh-section\" aria-labelledby=\"szenarien-einordnen\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"szenarien-einordnen\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">Koldstart, webshop og statisk hjemmeside<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Efter en genstart eller en implementering kan de n\u00f8dvendige poster i f\u00f8rste omgang mangle. S\u00e5danne mangler er forventelige, n\u00e5r cachen fyldes op; ved gentagne adgangsforesp\u00f8rgsler kan hitprocenten efterf\u00f8lgende stige. V\u00e6rdier fra <strong style=\"font-weight:700;color:inherit\">Kold- og varmfase<\/strong> b\u00f8r du betragte dem hver for sig, s\u00e5 et langt gennemsnit hverken skjuler opstartsomkostningerne eller den senere udvikling. <\/p>\n<figure class=\"wp-block-image size-large wh-figure\" aria-describedby=\"wh-caption-detail2\" style=\"display:block;float:none;clear:both;width:100%;max-width:760px;margin:34px auto 40px;border:1px solid #dae5e9;border-radius:14px;overflow:hidden;background:#f5f8fa;box-shadow:0 10px 28px -17px rgba(24,47,60,.28);box-sizing:border-box\"><div class=\"wh-figure-media\" style=\"display:block;background:#eef3f5;line-height:0\"><img loading=\"lazy\" width=\"800\" height=\"534\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/11\/object-cache-kaltphase-warmphase-b3a40a50-detail2-8356419081-1024x683.webp\" class=\"wp-image-22174\" alt=\"AI-genereret illustration af et mindre og et mere fyldt rum til cache-hukommelsens kolde og varme fase.\" decoding=\"async\" srcset=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/11\/object-cache-kaltphase-warmphase-b3a40a50-detail2-8356419081-1024x683.webp 1024w, https:\/\/webhosting.de\/wp-content\/uploads\/2026\/11\/object-cache-kaltphase-warmphase-b3a40a50-detail2-8356419081-300x200.webp 300w, https:\/\/webhosting.de\/wp-content\/uploads\/2026\/11\/object-cache-kaltphase-warmphase-b3a40a50-detail2-8356419081-768x512.webp 768w, https:\/\/webhosting.de\/wp-content\/uploads\/2026\/11\/object-cache-kaltphase-warmphase-b3a40a50-detail2-8356419081-18x12.webp 18w, https:\/\/webhosting.de\/wp-content\/uploads\/2026\/11\/object-cache-kaltphase-warmphase-b3a40a50-detail2-8356419081.webp 1536w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" ><\/div><figcaption class=\"wh-caption\" id=\"wh-caption-detail2\" style=\"display:block;margin:0;padding:12px 18px 15px;border-top:1px solid #dce5e9;color:#506575;background:#f5f8fa;font-size:14px;line-height:1.55;text-align:start\">AI-genereret illustration: Ved at betragte den kolde og den varme fase hver for sig undg\u00e5r man, at et gennemsnit skjuler opstartstiden.<\/figcaption><\/figure><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">I forbindelse med en webshop eller et omr\u00e5de, hvor brugeren er logget ind, er dynamiske foresp\u00f8rgsler s\u00e6rligt interessante: En sidecache besvarer ikke n\u00f8dvendigvis hver eneste opkald til indk\u00f8bskurven eller kontoen. Sammenlign derfor s\u00e5 vidt muligt lignende anmodningstyper, og v\u00e6r opm\u00e6rksom p\u00e5 b\u00e5de hitraten, svartiderne og databasebelastningen. En h\u00f8j Redis-hitrate viser i sig selv ikke, om indk\u00f8bskurven vises hurtigt og med korrekt indhold.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">P\u00e5 et overvejende statisk websted kan en stor del af sidevisningerne derimod allerede komme fra sidecachen. En vedvarende objektcache p\u00e5virker her is\u00e6r de foresp\u00f8rgsler, som WordPress rent faktisk behandler. Vurder derfor separat, om disse resterende foresp\u00f8rgsler drager fordel heraf, og om effekten sl\u00e5r igennem p\u00e5 hele webstedet.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Hvis du bruger Redis sammen med andre websteder eller applikationer, medregnes deres adgang ogs\u00e5 i instanst\u00e6lleren. Uden passende, separat telemetri er det ikke muligt p\u00e5lideligt at tilskrive den globale kvote til et enkelt websted. Dokumenter ogs\u00e5, hvilke noder der er medtaget: En \u00e6ndring i kvoten kan ellers lige s\u00e5 vel skyldes en anden anvendelse eller et \u00e6ndret m\u00e5leomr\u00e5de. <\/p>\n<\/section><section class=\"wh-section\" aria-labelledby=\"fehlersuche-betrieb\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"fehlersuche-betrieb\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">Unders\u00f8gelse af afvigende v\u00e6rdier og fejl<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">En lav andel er i f\u00f8rste omgang en observation, ikke en diagnose. Mange f\u00f8rste adgangsforesp\u00f8rgsler, korte levetider eller en fordeling af adgangsforesp\u00f8rgsler med n\u00f8gler, der sj\u00e6ldent genbruges, kan v\u00e6re mulige forklaringer. Kontroller, om sammens\u00e6tningen af foresp\u00f8rgslerne eller m\u00e5levinduet har \u00e6ndret sig, f\u00f8r du justerer hukommelses- eller cacheindstillingerne. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">T\u00e6llerne <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">expired_keys<\/code> og <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">evicted_keys<\/code> giver yderligere oplysninger: Den f\u00f8rste t\u00e6ller udl\u00f8bne n\u00f8gler, den anden t\u00e6ller n\u00f8gler, der er blevet fortr\u00e6ngt p\u00e5 grund af hukommelsesbegr\u00e6nsningen. Forskellene mellem dem er specifikke for den p\u00e5g\u00e6ldende Redis-instans og skal passe til konfigurationen og brugen. Mange udl\u00f8bne n\u00f8gler er hverken tegn p\u00e5 en forkert valgt TTL eller p\u00e5, at en l\u00e6ngere levetid er hensigtsm\u00e6ssig; det kan forringe aktualiteten af de gemte data.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Ved egne udvidelser skal man <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">wp_cache_get<\/code> parameteren <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">$found<\/code> Vigtigt: Den skelner mellem en fundet og en gemt v\u00e6rdi <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">false<\/code> fra en post, der ikke blev fundet. Inden du udf\u00f8rer grupperelaterede handlinger, b\u00f8r du med <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">wp_cache_supports<\/code> Kontroller, om det p\u00e5g\u00e6ldende backend underst\u00f8tter den \u00f8nskede funktion. En erstatningsl\u00f8sning kan afvige fra kerneimplementeringen.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><strong style=\"font-weight:700;color:inherit\">Advarsel:<\/strong> En uovervejet cache-flush kan p\u00e5virke flere poster eller applikationer end tilsigtet og forvride den n\u00e6ste m\u00e5ling p\u00e5 grund af en koldstart. Afklar r\u00e6kkevidden og indhent godkendelse, inden du udf\u00f8rer sletningshandlinger. Yderligere udgangspunkter til <a href=\"https:\/\/webhosting.de\/da\/object-cache-wordpress-gor-serverboost-langsommere\/\">Fejlfinding ved en langsom WordPress-objektcache<\/a> hj\u00e6lpe med at inddrage eventuel cache-overhead i unders\u00f8gelsen.<\/p>\n<\/section><section class=\"wh-section\" aria-labelledby=\"zielwerte-entscheidung\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"zielwerte-entscheidung\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">Selv fastl\u00e6gge fornuftige m\u00e5lv\u00e6rdier<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">En universel mindstekote p\u00e5 90 procent er ikke et holdbart teknisk krav. Det giver mere mening at indf\u00f8re en <strong style=\"font-weight:700;color:inherit\">stedsspecifikt m\u00e5lomr\u00e5de<\/strong>, der passer til den forventede fordeling af adgang og til applikationens form\u00e5l. Redis anbefaler, at man vurderer den observerede andel i sammenh\u00e6ng med det p\u00e5g\u00e6ldende adgangs m\u00f8nster; en procentdel alene forklarer ikke WordPress-ydeevnen. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Foretag f\u00f8rst en repr\u00e6sentativ indledende m\u00e5ling med tidsperiode, m\u00e5leomr\u00e5de, antal adgangsh\u00e6ndelser og andel. Registrer i den forbindelse svartider for vigtige anmodningstyper, databasebelastning og fejlprocent. Mark\u00e9r koldstarter s\u00e6rskilt, og tag h\u00f8jde for typiske forskelle mellem perioder med lav og h\u00f8j trafik, i stedet for at betragte et tilf\u00e6ldigt gunstigt tidsvindue som normal tilstand.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Planl\u00e6g derefter en konkret \u00e6ndring, og test den efter godkendelse om muligt f\u00f8rst i et passende testmilj\u00f8. Sammenlign derefter sammenlignelige tidsperioder og blandinger af foresp\u00f8rgsler: \u00c6ndrer kvoten og antallet af opslag sig, men ogs\u00e5 latenstiden eller databasebelastningen? P\u00e5 den m\u00e5de kan effekten bedre skelnes fra en ren forskydning af adgangene.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Selv en h\u00f8j svarprocent kan skjule nogle f\u00e5, s\u00e6rligt dyre fejl. Omvendt beh\u00f8ver en moderat svarprocent ikke at v\u00e6re et problem, hvis relevante foresp\u00f8rgsler besvares hurtigt og korrekt. Ekstra driftsomkostninger til Redis eller et andet persistent backend er ikke automatisk berettiget alene p\u00e5 grund af en bedre kvote; tag h\u00f8jde for hosting-support, omkostninger og mulige nedbrudsscenarier.  <\/p>\n<\/section><section class=\"wh-sources\" style=\"margin:40px 0 0;padding:24px 0 0;border-top:1px solid #dce5e9;color:#596b7b;font-size:14px;line-height:1.65\"><h2 style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">Kilder og den aktuelle videnskabelige viden<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Status for unders\u00f8gelsen: <time datetime=\"2026-11-04\">2026-11-04<\/time><\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Kildedato for den tilg\u00e6ngelige unders\u00f8gelse er den 4. november 2026; kontroller plugin-t\u00e6llingsmetoden og Redis-konfigurationen for den p\u00e5g\u00e6ldende version.<\/p><div class=\"wh-source-urls\"><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><span class=\"wh-source-url\" data-no-translation dir=\"ltr\" style=\"overflow-wrap:anywhere;font:12px\/1.6 ui-monospace,monospace;direction:ltr\">https:\/\/redis.io\/docs\/latest\/reference\/eviction\/<\/span><\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><span class=\"wh-source-url\" data-no-translation dir=\"ltr\" style=\"overflow-wrap:anywhere;font:12px\/1.6 ui-monospace,monospace;direction:ltr\">https:\/\/developer.wordpress.org\/reference\/classes\/wp_object_cache\/<\/span><\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><span class=\"wh-source-url\" data-no-translation dir=\"ltr\" style=\"overflow-wrap:anywhere;font:12px\/1.6 ui-monospace,monospace;direction:ltr\">https:\/\/developer.wordpress.org\/news\/2024\/06\/an-introduction-to-the-transients-api\/<\/span><\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><span class=\"wh-source-url\" data-no-translation dir=\"ltr\" style=\"overflow-wrap:anywhere;font:12px\/1.6 ui-monospace,monospace;direction:ltr\">https:\/\/developer.wordpress.org\/apis\/transients\/<\/span><\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><span class=\"wh-source-url\" data-no-translation dir=\"ltr\" style=\"overflow-wrap:anywhere;font:12px\/1.6 ui-monospace,monospace;direction:ltr\">https:\/\/developer.wordpress.org\/advanced-administration\/wordpress\/wp-config\/<\/span><\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><span class=\"wh-source-url\" data-no-translation dir=\"ltr\" style=\"overflow-wrap:anywhere;font:12px\/1.6 ui-monospace,monospace;direction:ltr\">https:\/\/developer.wordpress.org\/reference\/classes\/WP_Object_Cache\/get\/<\/span><\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><span class=\"wh-source-url\" data-no-translation dir=\"ltr\" style=\"overflow-wrap:anywhere;font:12px\/1.6 ui-monospace,monospace;direction:ltr\">https:\/\/developer.wordpress.org\/cli\/commands\/cache\/<\/span><\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><span class=\"wh-source-url\" data-no-translation dir=\"ltr\" style=\"overflow-wrap:anywhere;font:12px\/1.6 ui-monospace,monospace;direction:ltr\">https:\/\/redis.io\/docs\/latest\/commands\/info\/<\/span><\/p><\/div><\/section><\/div>","protected":false},"excerpt":{"rendered":"<p>En h\u00f8j hitrate i objektcachen garanterer ikke, at et WordPress-websted er hurtigt. Det afg\u00f8rende er m\u00e5leomr\u00e5det, tidsperioden og antallet af adgangsforesp\u00f8rgsler samt indvirkningen p\u00e5 svartiden og databasebelastningen.<\/p>","protected":false},"author":1,"featured_media":22172,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[733],"tags":[],"class_list":["post-22170","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress"],"acf":[],"_wp_attached_file":null,"_wp_attachment_metadata":null,"surfer_file_name":null,"surfer_file_original_url":null,"_wp_attachment_image_alt":null,"litespeed-optimize-set":null,"litespeed-optimize-size":null,"_oembed_b5e1eb923ad3b086e579b1befcd4075c":null,"_elementor_source_image_hash":null,"stockpack_author_name":null,"stockpack_author_url":null,"stockpack_provider":null,"stockpack_image_url":null,"stockpack_license":null,"stockpack_license_url":null,"stockpack_modification":null,"color":null,"original_id":null,"original_url":null,"original_link":null,"unsplash_location":null,"unsplash_sponsor":null,"unsplash_exif":null,"unsplash_attachment_metadata":null,"_elementor_is_screenshot":null,"_source_url":null,"_elementor_migrations_state_8b2d":null,"envato_tk_source_kit":null,"envato_tk_source_index":null,"envato_tk_manifest":null,"envato_tk_folder_name":null,"envato_tk_builder":null,"envato_elements_download_event":null,"_menu_item_type":null,"_menu_item_menu_item_parent":null,"_menu_item_object_id":null,"_menu_item_object":null,"_menu_item_target":null,"_menu_item_classes":null,"_menu_item_xfn":null,"_menu_item_url":null,"_trp_menu_languages":null,"rank_math_primary_category":null,"_wh_make_key":"wh_b3a40a501080a85b1324ce10a6ac7e87","rank_math_internal_links_processed":"1","_wh_make_topic":"WordPress Object Cache Hit Rate \u2013 Aussagekraft und sinnvolle Zielwerte","_wh_make_input_keywords":["wordpress object cache","redis hit rate","wordpress performance"],"_wh_make_config":{"research_model":"gpt-6.1-terra","writer_model":"gpt-6.1-terra","review_model":"gpt-6.1-sol","image_model":"gpt-image-2.5-flare","image_quality":"high","image_format":"webp","final_status":"draft","charts_enabled":true},"_wh_make_links":{"I1":{"id":"I1","post_id":21411,"url":"https:\/\/webhosting.de\/cloudlinux-acceleratewp-cache-engine-wordpress-performance-boost\/","title":"CloudLinux AccelerateWP Cache Engine: Turbo-boost til din WordPress-cache","excerpt":"AccelerateWP Cache g\u00f8r WordPress hurtigere p\u00e5 shared hosting-servere ved at kombinere helsides-, browser-, server- og objektcaching med intelligent optimering af ressourcer. Jeg viser dig, hvordan CloudLinux AccelerateWP Cache Engine g\u00f8r dine sider m\u00e6rkbart hurtigere og samtidig reducerer administrationsarbejdet. Hovedpunkter: Hele-side- og browser-cache leverer indhold med det samme. Server-cache og preloading reducerer TTFB og belastningen. Redis-objektcache g\u00f8r dynamiske webshops og portaler hurtigere. MAx Cache leverer sider direkte via Apache\/Nginx. Asset-optimering med Critical CSS, WebP\/AVIF og prefetch. Hvad der g\u00f8r AccelerateWP Cache Engine unik: Jeg bruger CloudLinux Suite, fordi den samler caching, asset-optimering og styring i \u00e9n l\u00f8sning og kan aktiveres p\u00e5 serverniveau. Motoren leverer en fuldsidescache til komplette HTML-udskrifter, suppleret med en browsercache til tilbagevendende bes\u00f8g og en servercache, der sk\u00e5ner PHP og databasen. Derudover kommer automatisering af CSS\/JS-minimering, billedkonvertering til WebP\/AVIF og Critical CSS for hurtigt synligt indhold. Cache-preloading gemmer siderne p\u00e5 forh\u00e5nd i cachen, s\u00e5 f\u00f8rstegangsbes\u00f8gende straks m\u00e6rker hastigheden, og der ikke opst\u00e5r ventetid. For mig er det den helhedsorienterede tilgang, der t\u00e6ller: et centralt kontrolcenter, der kraftigt fremskynder WordPress p\u00e5 delt hosting uden manuelt arbejde og samtidig tillader finjusteringer pr. hjemmeside. Flerlags cache: helside, browser og server Ved helside-cache gemmer jeg den f\u00e6rdige HTML-side som en statisk fil, s\u00e5 WordPress og PHP ikke beh\u00f8ver at arbejde ved hvert eneste bes\u00f8g. Browser-cachen gemmer billeder, CSS og JS hos den bes\u00f8gende, hvilket g\u00f8r, at efterf\u00f8lgende bes\u00f8g indl\u00e6ses m\u00e6rkbart hurtigere, og mobile brugere drager fordel heraf. P\u00e5 serversiden besvarer en hot-cache gentagne opkald uden dyre databaseforesp\u00f8rgsler, hvilket forbedrer responstiden og skalerbarheden. Derudover aktiverer jeg preloading, s\u00e5 cachen er forudfyldt, og der undg\u00e5s kolde opstarter. Hvis du vil dykke dybere ned i emnet, finder du en praktisk trin-for-trin-vejledning i indl\u00e6gget \u00bbWordPress-Server-Boost\u00ab, som jeg gerne bruger som udgangspunkt. Objektcache"},"I2":{"id":"I2","post_id":19673,"url":"https:\/\/webhosting.de\/database-buffer-cache-hit-rate-optimierung-leitfaden-datenstrom\/","title":"Forst\u00e5else og optimering af databasens buffer-cache-hitrate","excerpt":"Jeg forklarer, hvordan jeg korrekt beregner, vurderer og m\u00e5lrettet \u00f8ger buffer cache hit rate, s\u00e5 foresp\u00f8rgsler reagerer hurtigere med mindre fysisk I\/O. I den forbindelse viser jeg konkrete trin til at \u00f8ge den oplevede ydeevne p\u00e5 en m\u00e5lbar m\u00e5de \u2013 herunder m\u00e5linger som ESTD_PCT_OF_DB_TIME_FOR_READS og praksisorienterede gr\u00e6nsev\u00e6rdier. Centrale punkter: Indordning frem for fokus p\u00e5 99 %: Kobl altid hitraten sammen med andelen af l\u00e6setid Brug hukommelsen som l\u00f8ftestang: Udvid cachen gradvist, undg\u00e5 swapping Workload-perspektiv: Vurder OLTP anderledes end DWH\/rapportering Struktur\u00e9r overv\u00e5gningen: Hold \u00f8je med foresp\u00f8rgsler, I\/O-forsinkelser og DB-tid MySQL og Oracle: Planl\u00e6g bufferpool\/cache m\u00e5lrettet. Hvad betyder buffer-cache-hitraten egentlig? Buffer-cachen opbevarer ofte anvendte datablokke i RAM, hvilket betyder, at foresp\u00f8rgsler ved et hit l\u00e6ses uden langsom diskadgang. Hver foresp\u00f8rgsel tjekker f\u00f8rst cachen; f\u00f8rst et miss tvinger til fysisk I\/O. Hit-raten beregnes som (logiske l\u00e6seadgange \u2013 fysiske l\u00e6seadgange) \/ logiske l\u00e6seadgange og beskriver fordelingen mellem hukommelses- og diskadgange. Erfaringen viser, at en h\u00f8j v\u00e6rdi reducerer antallet af I\/O\u2019er, men den forklarer ikke automatisk korte svartider. Jeg vurderer derfor altid denne n\u00f8gletal i sammenh\u00e6ng med andre m\u00e5linger, s\u00e5 beslutningerne bliver velunderbyggede. Jeg pr\u00e6ciserer beregningen platformspecifikt: I Oracle er den g\u00e6ngse formel 1 \u2013 fysiske l\u00e6sninger \/ (konsistente hentninger + db-blokhentninger). P\u00e5 den m\u00e5de medtager jeg b\u00e5de konsistente l\u00e6sninger (MVCC) og aktuelle blokadgange. I MySQL med InnoDB bruger jeg 1 \u2013 Innodb_buffer_pool_reads \/ Innodb_buffer_pool_read_requests. F\u00f8rst og fremmest s\u00f8rger jeg altid for at forst\u00e5 forskellene i t\u00e6llere og caching-strategier, f\u00f8r jeg sammenligner systemer \u2013 ellers kan jeg let drage forkerte konklusioner. N\u00f8gletallets begr\u00e6nsninger og hvad der virkelig t\u00e6ller En meget h\u00f8j hitrate kan ikke redde langsomme foresp\u00f8rgsler, hvis der mangler indekser, hvis sammenkoblinger er ineffektive, eller hvis l\u00e5se bremser systemet. Omvendt er en moderat hitrate tilstr\u00e6kkelig, hvis hukommelses- og I\/O-undersystemer arbejder hurtigere, eller hvis arbejdsbyrden udnytter lange sekventielle scanninger. Jeg s\u00e6tter derfor hitraten i relation til den andel af den samlede DB-tid, der bruges p\u00e5 fysisk"},"I3":{"id":"I3","post_id":16774,"url":"https:\/\/webhosting.de\/object-cache-wordpress-langsamer-macht-serverboost\/","title":"Hvorfor Object Cache nogle gange g\u00f8r WordPress langsommere","excerpt":"Mange administratorer aktiverer objektcachen og undrer sig over, hvorfor siderne derefter reagerer langsommere, foresp\u00f8rgsler g\u00e5r i st\u00e5, eller der opst\u00e5r 502-fejl. Jeg viser, hvilke tekniske \u00e5rsager der ligger bag, hvorn\u00e5r caching g\u00e5r i st\u00e5, og hvordan jeg indstiller cachen, s\u00e5 den virkelig g\u00f8r siden hurtigere i stedet for at bremse den. Vigtige punkter: Overfyldning p\u00e5 grund af autoloaded options og transients f\u00f8rer til afvisninger og timeouts. Konflikter mellem Redis, Memcached og plugins bremser funktionerne. Forkert fortolkning af Site Health f\u00f8rer til un\u00f8dvendige installationer. Invalidering og fragmentering holder for\u00e6ldede data for l\u00e6nge i RAM. Page-cachens rolle: Objektcachen erstatter den ikke. Hvad g\u00f8r objektcachen nogle gange langsommere? En objektcache opbevarer databaseresultater i RAM, men den fremskynder kun, hvis hitraten forbliver h\u00f8j, og hukommelsen administreres korrekt. Hvis autoloaded options og transients fylder cachen helt op, afviser motoren nye poster, og WordPress falder tilbage p\u00e5 databasen. Det \u00f8ger latenstiden, fordi serveren f\u00f8rst foresp\u00f8rger cachen, derefter fejler, derefter udf\u00f8rer foresp\u00f8rgslen p\u00e5 ny og til sidst muligvis igen fors\u00f8ger at gemme uden held. P\u00e5 platforme med strenge begr\u00e6nsninger, f.eks. 1 MB pr. objekt eller buffere p\u00e5 omkring 800 KB, falder ydeevnen brat. Derfor tjekker jeg f\u00f8rst st\u00f8rrelsen og antallet af poster, f\u00f8r jeg begynder at justere PHP eller databasen. Ogs\u00e5 overheadet ved hver cacheforesp\u00f8rgsel spiller en rolle, selv hvis posten mangler, hvilket kan forl\u00e6nge svartiden ved mange sm\u00e5, engangsforesp\u00f8rgsler. P\u00e5 websteder med f\u00e5 gentagne databaseforesp\u00f8rgsler giver caching n\u00e6ppe nogen fordele, fordi administrationen af n\u00f8glerne koster mere, end den sparer. Jo flere dynamiske sider og brugerspecifikke elementer der er i spil, desto mere forsigtigt konfigurerer jeg cachen. Uden klare regler for ugyldigg\u00f8relse forbliver for\u00e6ldede v\u00e6rdier i cachen og skaber forvirring i backend og p\u00e5 live-siden. En velfungerende proces med skrivning, udl\u00f8b og t\u00f8mning holder systemet hurtigt. Typiske fejlkonfigurationer og konflikter Opst\u00e5r ofte, n\u00e5r flere plugins stiller en object-cache.php til r\u00e5dighed og overskriver hinanden. Da"}},"_wh_make_stage":"entwurf","_wh_make_research_date":"2026-11-04","_wh_make_sitemap_info":{"index":"https:\/\/webhosting.de\/sitemap_index.xml?wh_make=1","sitemaps":["https:\/\/webhosting.de\/post-sitemap1.xml","https:\/\/webhosting.de\/post-sitemap2.xml","https:\/\/webhosting.de\/post-sitemap3.xml","https:\/\/webhosting.de\/post-sitemap4.xml"],"url_count":3138,"fetched_at":"2026-11-04T08:42:44+00:00","selected_ids":[21411,19673,16774]},"_wh_make_draft_hash":"ee4a3c84a08ef1850db5533564dcae70a0e812a4abf38a3876b9652a4a921567","_wh_make_work":{"version":"2.1","identity":{"sheet_ref":"1VMjxV8Q73i0Q1HO6s-u4jNHVRF0snliGCeg97intLPs","sheet_name":"Tabellenblatt1","external_id":"1443","topic":"WordPress Object Cache Hit Rate \u2013 Aussagekraft und sinnvolle Zielwerte","keywords":["wordpress object cache","redis hit rate","wordpress performance"],"category_input":"733"},"config":{"research_model":"gpt-6.1-terra","writer_model":"gpt-6.1-terra","review_model":"gpt-6.1-sol","image_model":"gpt-image-2.5-flare","image_quality":"high","image_format":"webp","final_status":"draft","charts_enabled":true},"phase":"done","pending":null,"receipts":{"2a5f5b36e87fff96f016092aedd8d1bc":"f53b27e40a142ef2db994e3f95df7577a8a31ecf336f4f9cddea2410eeab829e","c0d0cebf6eba5845f08d9651a292169c":"75ecd9454ed4b02ef1a792506732a52024532e2e4904dc5c83bb755340c977ca","5f7d78d2b3d12019dfeb20b2e03d4d19":"cdcb196d846e66aafb72dcf12efe849ebf8e4289854f6937bc864af869c4cd6c","55f0a5046ca2fb35eaf7b332efa7f6e5":"0ce9dd961f45f4e38a7b73634690c29307b40b11de9a3a4a5b0673c30de2ce17","c77b98b0daafa2dca87a757b4518feae":"ed52c1790edf4987aee814d81610a6df0a7d013081a01b8826600262096a3b9b","11a4e9c894c8e5e63c8748041adb1d2e":"f332742cab4c067316c8377b108b26f5949f642962f84a15fe3a445de738fc2c","069e443c8af021aba56b45c97be196a1":"641a49cd5207297f34eae5fc1098a659806f248ab56ece4a1a5bdff4153e3acd","0a622f8ea13faa74c5b2616fb603fa09":"e2c754eddc83d454d085dfe1bbffc00306976afb774f194aaf9a036424c3b9c0","90342e627b1342f0d1c23795bffb0360":"5eb0a06d11c835aac38945154d540fa44616a748dd4f1071903baaf12b019618","1716f227600d2828b96b3e14d37c6a5e":"781bbf4632087ec25df716c10ce53a21e294455dc229a478c92ca3c911bf0278","4751f66871a65573c812d4e4319af29f":"962fc6c94d26154b720463799cafdef757cd86621ff8609a0ae1721cb095b81e"},"parts":{"1":[{"id":"object-cache-grundlagen","heading":"Was der WordPress Object Cache speichert","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Der WordPress Object Cache h\u00e4lt Daten unter einem Schl\u00fcssel und innerhalb einer Gruppe bereit. Fragt WordPress denselben Wert erneut ab, kann es ihn aus dem Cache beziehen, statt die zugrunde liegende Arbeit erneut auszuf\u00fchren. Dazu geh\u00f6ren beispielsweise Daten, die sonst aus der Datenbank gelesen oder erneut berechnet werden m\u00fcssten.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Die eingebaute Core-Implementierung ist standardm\u00e4\u00dfig ","ref":""},{"kind":"strong","text":"requestgebunden","ref":""},{"kind":"text","text":": Sie h\u00e4lt ihre Eintr\u00e4ge w\u00e4hrend eines einzelnen Requests vor. Ein sp\u00e4terer Seitenaufruf erh\u00e4lt dadurch nicht automatisch Zugriff auf die zuvor gespeicherten Werte. Trotzdem kann der Cache schon innerhalb eines Requests wiederholte Zugriffe vermeiden.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Ein Drop-in kann die Core-Implementierung durch einen ","ref":""},{"kind":"strong","text":"persistenten Object Cache","ref":""},{"kind":"text","text":" ersetzen. Dann k\u00f6nnen geeignete Eintr\u00e4ge \u00fcber einzelne Requests hinaus erhalten bleiben. Redis ist eine m\u00f6gliche Backend-Option, aber keine Voraussetzung f\u00fcr WordPress; auch andere Backend-Ans\u00e4tze sind m\u00f6glich. Selbst mit einem persistenten Drop-in k\u00f6nnen bestimmte Gruppen weiterhin nur f\u00fcr den aktuellen Request gelten.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Transients sind eine weitere M\u00f6glichkeit, zeitlich begrenzt ben\u00f6tigte Daten abzulegen. Mit einem persistenten Object Cache k\u00f6nnen sie dort gespeichert werden, ohne ihn normalerweise in der Datenbank. Ihre Ablaufzeit bezeichnet keine garantierte Mindestverf\u00fcgbarkeit: Ein Wert kann fr\u00fcher verschwinden. Anwendungscode muss deshalb mit einem fehlenden Transient rechnen und den Wert bei Bedarf regenerieren k\u00f6nnen.","ref":""},{"kind":"citation","text":"","ref":"S3"},{"kind":"citation","text":"","ref":"S8"}]},{"type":"paragraph","runs":[{"kind":"text","text":"F\u00fcr die sp\u00e4tere Bewertung einer Trefferquote ist diese Unterscheidung entscheidend: Ein Zugriff auf den lokalen Cache w\u00e4hrend eines Requests und ein Zugriff auf ein externes Backend sind nicht zwangsl\u00e4ufig dieselbe Messgr\u00f6\u00dfe. Pr\u00fcfe daher zun\u00e4chst, welche Implementierung tats\u00e4chlich verwendet wird und welche Daten sie persistent behandelt.","ref":""}]}]},{"id":"cache-ebenen","heading":"Object Cache und Page Cache unterscheiden","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Bei einem Seitenaufruf kann ein ","ref":""},{"kind":"strong","text":"Page Cache","ref":""},{"kind":"text","text":" eine bereits erzeugte Seitenantwort ausliefern. Wird die Anfrage dort beantwortet, muss sie nicht denselben WordPress-Anwendungspfad durchlaufen wie eine ungecachte Anfrage. Der Object Cache arbeitet dagegen innerhalb der Anwendung mit einzelnen zwischengespeicherten Daten, nicht mit der vollst\u00e4ndigen Seitenantwort.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Stell dir eine \u00f6ffentlich erreichbare Artikelseite vor: Liegt ihre Antwort im Page Cache, kann sie direkt ausgeliefert werden. Muss WordPress die Seite dagegen erzeugen, kann der Object Cache bei wiederholten Datenzugriffen helfen. Welche Arbeit dadurch tats\u00e4chlich entf\u00e4llt, h\u00e4ngt von der Anfrage, den gespeicherten Eintr\u00e4gen und der jeweiligen Implementierung ab.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Das hat Folgen f\u00fcr die Interpretation: Eine gute Object-Cache-Quote beschreibt nur die erfassten Cache-Zugriffe. Sie sagt nicht unmittelbar, wie viele Besucher bereits eine fertige Antwort aus dem Page Cache erhalten oder wie schnell die gesamte Website reagiert. Bei starkem Page Caching kann der Nutzen des Object Cache vor allem bei den verbleibenden WordPress-Requests sichtbar werden.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Auch Browser- und Opcode-Cache erf\u00fcllen andere Aufgaben. Der Browser-Cache h\u00e4lt Ressourcen beim Besucher vor; ein PHP-Opcode-Cache speichert kompilierten PHP-Code. Beide ersetzen weder die Speicherung einzelner Anwendungsdaten im Object Cache noch die Auslieferung einer vollst\u00e4ndigen Antwort aus einem Page Cache.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Die Konstante ","ref":""},{"kind":"code","text":"WP_CACHE","ref":""},{"kind":"text","text":" allein aktiviert keinen Redis Object Cache. F\u00fcr einen persistenten Object Cache brauchst du eine passende Implementierung und deren unterst\u00fctzte Konfiguration. Ein erg\u00e4nzendes Beispiel f\u00fcr das Zusammenspiel mehrerer Ebenen findest du im Beitrag zur ","ref":""},{"kind":"internal_link","text":"AccelerateWP Cache Engine","ref":"I1"},{"kind":"text","text":".","ref":""},{"kind":"citation","text":"","ref":"S1"},{"kind":"citation","text":"","ref":"S2"}]}]},{"id":"hit-rate-grundlagen","heading":"Was Hits und Misses aussagen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Ein ","ref":""},{"kind":"strong","text":"Hit","ref":""},{"kind":"text","text":" liegt vor, wenn ein gesuchter Eintrag auf der betrachteten Cache-Ebene gefunden wird. Ein ","ref":""},{"kind":"strong","text":"Miss","ref":""},{"kind":"text","text":" bedeutet, dass er dort nicht gefunden wird. Die Hit Rate setzt die Treffer ins Verh\u00e4ltnis zu allen gez\u00e4hlten Treffern und Fehlversuchen: Hits \/ (Hits + Misses) \u00d7 100. Gibt es weder Hits noch Misses, ist die Quote f\u00fcr diesen Zeitraum nicht definiert.","ref":""},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Ein Miss ist nicht automatisch ein technischer Fehler. Beim ersten Zugriff kann ein Eintrag noch fehlen; auch nach seinem Ablauf muss er gegebenenfalls neu beschafft oder erzeugt werden. Entscheidend ist, welche Folgen solche Fehlversuche im konkreten Ablauf haben und ob sich Zugriffe \u00fcberhaupt sinnvoll wiederholen.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Die Core-Methode von WordPress z\u00e4hlt in ihrer eigenen Implementierung Cache-Treffer und Fehlversuche. Ein Drop-in kann diese Implementierung jedoch ersetzen. Deshalb l\u00e4sst sich aus der Core-Z\u00e4hlweise nicht sicher ableiten, was eine Plugin-Anzeige erfasst: Pr\u00fcfe f\u00fcr die eingesetzte Version, welche Zugriffe und welchen Zeitraum ihre Kennzahl umfasst.","ref":""},{"kind":"citation","text":"","ref":"S5"},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Redis meldet mit ","ref":""},{"kind":"code","text":"keyspace_hits","ref":""},{"kind":"text","text":" und ","ref":""},{"kind":"code","text":"keyspace_misses","ref":""},{"kind":"text","text":" erfolgreiche beziehungsweise erfolglose Key-Lookups im Redis-Keyspace. Auch ein fehlgeschlagener ","ref":""},{"kind":"code","text":"EXISTS","ref":""},{"kind":"text","text":"-Aufruf kann als Miss z\u00e4hlen. Diese Redis Hit Rate ist daher nicht automatisch mit einer WordPress- oder Plugin-Quote gleichzusetzen.","ref":""},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Kommt eine Redis-Instanz mehreren Websites oder Anwendungen zugute, k\u00f6nnen ihre Z\u00e4hler deren Zugriffe gemeinsam abbilden. Eine globale Quote l\u00e4sst sich dann ohne geeignete getrennte Telemetrie nicht belastbar einer einzelnen WordPress-Website zuordnen. F\u00fcr jeden Vergleich solltest du deshalb festhalten, welche Ebene und welche Instanz die Zahlen \u00fcberhaupt beschreiben.","ref":""}]}]}],"2":[{"id":"messung-vorbereiten","heading":"Messbereich und Zugriff sicher pr\u00fcfen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Kl\u00e4re vor der Messung, welche Object-Cache-Implementierung WordPress verwendet. Wenn WP-CLI verf\u00fcgbar ist und du Zugriff auf das WordPress-Verzeichnis hast, kannst du dort eine lesende Bestandsaufnahme mit folgendem Befehl beginnen:","ref":""},{"kind":"citation","text":"","ref":"S6"}]},{"type":"code","language":"bash","code":"wp cache type","source_ids":["S6"]},{"type":"paragraph","runs":[{"kind":"text","text":"Das Ergebnis hilft bei der Einordnung der Implementierung, beweist aber nicht, dass jeder relevante Zugriff persistent gespeichert wird. WordPress erlaubt einem Drop-in, den Core-Cache zu ersetzen; zugleich k\u00f6nnen einzelne Gruppen nicht persistent sein. Halte deshalb auch das eingesetzte Drop-in beziehungsweise Plugin und seine Version fest. ","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Pr\u00fcfe in der Dokumentation der konkreten Version, welche Zugriffe ihre angezeigten Hits und Misses umfassen und \u00fcber welchen Zeitraum sie gez\u00e4hlt werden. Eine Plugin-Quote l\u00e4sst sich nur dann sinnvoll mit einer anderen Kennzahl vergleichen, wenn Messbereich und Z\u00e4hlweise bekannt sind. Besonders wichtig ist, ob die Anzeige nur einen Request oder ein l\u00e4ngeres Fenster beschreibt.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"F\u00fcr Redis kannst du, sofern Verbindung und Berechtigungen vorhanden sind, in einer Redis-CLI-Sitzung die Statistik- und Speicherinformationen lesend abfragen. Die folgenden Befehle enthalten bewusst keine Zugangsdaten:","ref":""},{"kind":"citation","text":"","ref":"S7"}]},{"type":"code","language":"redis","code":"INFO stats\nINFO memory","source_ids":["S7"]},{"type":"paragraph","runs":[{"kind":"text","text":"Dokumentiere den ","ref":""},{"kind":"strong","text":"Messbereich","ref":""},{"kind":"text","text":": Welche Instanz oder Knoten wurden abgefragt, und welche anderen Websites oder Anwendungen nutzen sie? Globale Redis-Z\u00e4hler lassen sich bei gemeinsamer Nutzung nicht ohne Weiteres einer einzelnen Website zuordnen. Pr\u00fcfe Ausgaben vor der Weitergabe auf sensible Betriebsinformationen; weder ein Flush noch ein Lasttest ist f\u00fcr diese Bestandsaufnahme erforderlich.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Fehlt dir der Zugriff auf die Redis-CLI, frage deinen Hosting-Anbieter nach den verf\u00fcgbaren Metriken und ihrem Geltungsbereich. Auch ein Dashboard ist nur dann eine brauchbare Grundlage, wenn klar ist, ob es dieselbe Instanz, einzelne Knoten oder bereits aggregierte Werte zeigt.","ref":""}]}]},{"id":"intervall-berechnen","heading":"Redis Hit Rate im Intervall berechnen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Redis-Statistiken sind Z\u00e4hlerst\u00e4nde, keine fertige Aussage \u00fcber einen bestimmten Messzeitraum. Lies f\u00fcr eine Intervallauswertung die Werte f\u00fcr ","ref":""},{"kind":"code","text":"keyspace_hits","ref":""},{"kind":"text","text":" und ","ref":""},{"kind":"code","text":"keyspace_misses","ref":""},{"kind":"text","text":" zu Beginn und am Ende desselben festgelegten Zeitfensters von derselben Instanz ab. Notiere beide Zeitpunkte und die zugeh\u00f6rige Instanz, damit die Ablesungen zusammenpassen. ","ref":""},{"kind":"citation","text":"","ref":"S7"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Ziehe anschlie\u00dfend f\u00fcr jeden Z\u00e4hler den Anfangswert vom Endwert ab. Die ","ref":""},{"kind":"strong","text":"Intervall-Hit-Rate","ref":""},{"kind":"text","text":" lautet: \u0394Hits \/ (\u0394Hits + \u0394Misses) \u00d7 100. Das Zeichen \u0394 steht f\u00fcr die jeweilige Differenz. Sind beide Differenzen null, gab es in diesem Fenster keine gez\u00e4hlten Lookups; die Quote ist dann nicht definiert, statt null Prozent zu betragen. ","ref":""},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Ein illustratives Rechenbeispiel, keine Messung: Steigen die Hits um 900 und die Misses um 100, ergeben sich 90 Prozent bei insgesamt 1.000 gez\u00e4hlten Lookups. Das hei\u00dft weder, dass Seiten um 90 Prozent schneller sind, noch dass genau 900 Datenbankabfragen eingespart wurden. Redis z\u00e4hlt Key-Lookups; deren Bedeutung f\u00fcr die Anwendung h\u00e4ngt vom jeweiligen Zugriff ab. ","ref":""},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Geht einer der Z\u00e4hler zwischen den Ablesungen zur\u00fcck, ist die einfache Differenz \u00fcber diesen Bruch nicht g\u00fcltig. Ein Neustart oder das Zur\u00fccksetzen von Statistiken kann dazu f\u00fchren. Beginne das Messfenster neu oder teile es anhand verl\u00e4sslicher Betriebsdaten am Bruch auf, statt einen negativen Wert in die Formel einzusetzen.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Bei mehreren Knoten berechnest du zun\u00e4chst f\u00fcr jeden passenden Knoten die Differenzen \u00fcber denselben Zeitraum. Addiere dann die Hits und Misses getrennt und bilde daraus die Gesamtquote. Ein ungewichteter Mittelwert der einzelnen Prozentwerte behandelt einen Knoten mit wenigen Lookups sonst genauso wie einen mit vielen; das kann das Gesamtbild erheblich verzerren.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Halte dabei fest, welche Knoten tats\u00e4chlich einbezogen sind und welche Rolle sie in der Umgebung haben. Eine so berechnete Gesamtrate beschreibt nur die ausgew\u00e4hlten Z\u00e4hler und deren Nutzer; sie wird nicht allein durch die Aggregation zu einer spezifischen WordPress-Object-Cache-Quote.","ref":""}]}]},{"id":"messprotokoll-kennzahlen","heading":"Messprotokoll und Redis-Kennzahlen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Neben Hits und Misses helfen weitere Redis-Z\u00e4hler bei der Einordnung. Auch hier sind Differenzen im gew\u00e4hlten Zeitraum aussagekr\u00e4ftiger als isolierte Gesamtst\u00e4nde. Die folgende Tabelle trennt die Bedeutung der Werte von Schlussfolgerungen, die sie allein nicht tragen. ","ref":""},{"kind":"citation","text":"","ref":"S4"},{"kind":"citation","text":"","ref":"S7"}]},{"type":"table","caption":"Redis-Kennzahlen und Grenzen ihrer Interpretation","headers":["Kennzahl","Bedeutung","Interpretationsgrenze"],"rows":[["keyspace_hits","Erfolgreiche Key-Lookups","Kein direkter Nachweis gesparter Datenbankabfragen oder schnellerer Seiten."],["keyspace_misses","Erfolglose Key-Lookups","Auch ein fehlgeschlagenes EXISTS kann z\u00e4hlen; ein Miss ist nicht automatisch ein Fehler."],["expired_keys","Abgelaufene Schl\u00fcssel","Ein Anstieg allein beweist keine falsch gew\u00e4hlte Lebensdauer."],["evicted_keys","Aufgrund der Speichergrenze verdr\u00e4ngte Schl\u00fcssel","Im Zusammenhang mit Speichergrenze und Eviction-Konfiguration pr\u00fcfen; daraus folgt nicht automatisch eine konkrete Ursache f\u00fcr langsame Requests."]],"source_ids":["S4","S7"]},{"type":"paragraph","runs":[{"kind":"text","text":"Ein Anstieg von ","ref":""},{"kind":"code","text":"expired_keys","ref":""},{"kind":"text","text":" kann Anlass sein, Lebensdauern und Zugriffsmuster n\u00e4her anzusehen. Er zeigt aber nicht, ob ein Eintrag kurz nach seinem Ablauf erneut ben\u00f6tigt wurde. Ebenso ist ","ref":""},{"kind":"code","text":"evicted_keys","ref":""},{"kind":"text","text":" im Kontext der konfigurierten Speichergrenze und Verdr\u00e4ngungsstrategie zu betrachten, statt daraus sofort eine Speichererh\u00f6hung abzuleiten. ","ref":""},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Ein brauchbares ","ref":""},{"kind":"strong","text":"Messprotokoll","ref":""},{"kind":"text","text":" nennt Anfang und Ende des Zeitfensters, Instanz beziehungsweise Knoten, die beiden Z\u00e4hlerdifferenzen, ihre Summe und die berechnete Quote. Erg\u00e4nze, ob die Instanz gemeinsam genutzt wird und ob w\u00e4hrend des Fensters ein Neustart oder eine R\u00fccksetzung bekannt ist. So bleiben Messungen sp\u00e4ter nachvollziehbar.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Erfasse parallel den betrachteten Request-Typ und eine daf\u00fcr geeignete Latenzkennzahl sowie Datenbanklast und Fehlerrate. Trenne beispielsweise \u00f6ffentliche Seitenaufrufe von eingeloggten Anfragen, wenn daf\u00fcr passende Daten vorliegen. Die Redis-Quote allein verr\u00e4t nicht, welcher dieser Request-Typen von einem Treffer profitiert hat.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"F\u00fcr einen sp\u00e4teren Vergleich sollten Zeitraum, Knoten und Request-Mischung m\u00f6glichst \u00e4hnlich sein. Notiere au\u00dferdem relevante \u00c4nderungen und erkennbare Warm-up-Phasen. Wo Daten fehlen oder eine gemeinsame Instanz keine Zuordnung erlaubt, geh\u00f6rt diese Einschr\u00e4nkung ins Protokoll statt in eine scheinbar pr\u00e4zise Schlussfolgerung.","ref":""}]}]}],"3":[{"id":"szenarien-einordnen","heading":"Kaltstart, Shop und statische Website","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Nach einem Neustart oder Deployment k\u00f6nnen ben\u00f6tigte Eintr\u00e4ge zun\u00e4chst fehlen. Solche Misses sind beim Bef\u00fcllen des Cache zu erwarten; bei wiederkehrenden Zugriffen kann die Trefferquote anschlie\u00dfend steigen. Werte aus der ","ref":""},{"kind":"strong","text":"Kalt- und Warmphase","ref":""},{"kind":"text","text":" solltest du getrennt betrachten, damit ein langer Durchschnitt weder die Anlaufkosten noch das sp\u00e4tere Verhalten verdeckt.","ref":""},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Bei einem Shop oder einem eingeloggten Bereich sind dynamische Anfragen besonders interessant: Ein Page Cache beantwortet nicht unbedingt jeden Warenkorb- oder Kontoaufruf. Vergleiche deshalb m\u00f6glichst \u00e4hnliche Request-Typen und achte neben der Quote auf ihre Antwortzeiten und die Datenbanklast. Eine hohe Redis Hit Rate zeigt f\u00fcr sich genommen nicht, ob der Warenkorb schnell und inhaltlich korrekt angezeigt wird.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Bei einer \u00fcberwiegend statischen Website kann dagegen ein gro\u00dfer Teil der Seitenaufrufe bereits aus dem Page Cache kommen. Ein persistenter Object Cache wirkt dort vor allem auf die Anfragen, die WordPress tats\u00e4chlich verarbeitet. Beurteile deshalb getrennt, ob diese verbleibenden Anfragen profitieren und ob sich der Effekt auf die gesamte Website auswirkt.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Nutzt du Redis gemeinsam mit anderen Websites oder Anwendungen, umfassen die Instanzz\u00e4hler deren Zugriffe ebenfalls. Ohne geeignete getrennte Telemetrie l\u00e4sst sich die globale Quote keiner einzelnen Website zuverl\u00e4ssig zuordnen. Dokumentiere auch, welche Knoten erfasst sind: Eine Ver\u00e4nderung der Quote kann sonst ebenso an einer anderen Nutzung oder an einem ver\u00e4nderten Messbereich liegen.","ref":""},{"kind":"citation","text":"","ref":"S7"}]}]},{"id":"fehlersuche-betrieb","heading":"Auff\u00e4llige Werte und Fehler untersuchen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Eine niedrige Quote ist zun\u00e4chst eine Beobachtung, keine Diagnose. Viele Erstzugriffe, kurze Lebensdauern oder eine Zugriffsverteilung mit selten wiederverwendeten Schl\u00fcsseln kommen als Erkl\u00e4rungen infrage. Pr\u00fcfe, ob sich die Request-Mischung oder das Messfenster ver\u00e4ndert hat, bevor du Speicher oder Cache-Einstellungen anpasst.","ref":""},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Die Z\u00e4hler ","ref":""},{"kind":"code","text":"expired_keys","ref":""},{"kind":"text","text":" und ","ref":""},{"kind":"code","text":"evicted_keys","ref":""},{"kind":"text","text":" liefern weitere Hinweise: Der erste z\u00e4hlt abgelaufene Schl\u00fcssel, der zweite aufgrund der Speicherbegrenzung verdr\u00e4ngte Schl\u00fcssel. Ihre Differenzen geh\u00f6ren zur Redis-Instanz und m\u00fcssen zur Konfiguration und Nutzung passen. Viele abgelaufene Schl\u00fcssel beweisen weder eine falsch gew\u00e4hlte TTL noch, dass eine l\u00e4ngere Lebensdauer sinnvoll ist; sie kann die Aktualit\u00e4t gespeicherter Daten verschlechtern.","ref":""},{"kind":"citation","text":"","ref":"S4"},{"kind":"citation","text":"","ref":"S7"}]},{"type":"paragraph","runs":[{"kind":"text","text":"F\u00fcr eigene Erweiterungen ist bei ","ref":""},{"kind":"code","text":"wp_cache_get","ref":""},{"kind":"text","text":" der Parameter ","ref":""},{"kind":"code","text":"$found","ref":""},{"kind":"text","text":" wichtig: Er unterscheidet einen gefundenen, gespeicherten Wert ","ref":""},{"kind":"code","text":"false","ref":""},{"kind":"text","text":" von einem nicht gefundenen Eintrag. Vor gruppenbezogenen Aktionen solltest du mit ","ref":""},{"kind":"code","text":"wp_cache_supports","ref":""},{"kind":"text","text":" pr\u00fcfen, ob das konkrete Backend die gew\u00fcnschte Funktion unterst\u00fctzt. Ein ersetzendes Drop-in kann sich von der Core-Implementierung unterscheiden.","ref":""},{"kind":"citation","text":"","ref":"S5"},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"strong","text":"Warnung:","ref":""},{"kind":"text","text":" Ein unbedachter Cache-Flush kann mehr Eintr\u00e4ge oder Anwendungen betreffen als beabsichtigt und die n\u00e4chste Messung durch einen Kaltstart verzerren. Kl\u00e4re den Wirkungsbereich und eine Freigabe, bevor du l\u00f6schende Aktionen ausf\u00fchrst. Erg\u00e4nzende Ansatzpunkte zur ","ref":""},{"kind":"internal_link","text":"Fehlersuche bei einem langsamen WordPress Object Cache","ref":"I3"},{"kind":"text","text":" helfen, auch m\u00f6glichen Cache-Overhead in die Untersuchung einzubeziehen.","ref":""}]}]},{"id":"zielwerte-entscheidung","heading":"Sinnvolle Zielwerte selbst bestimmen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Eine universelle Mindestquote von 90 Prozent ist keine belastbare technische Anforderung. Sinnvoller ist ein ","ref":""},{"kind":"strong","text":"standortspezifischer Zielbereich","ref":""},{"kind":"text","text":", der zur erwarteten Zugriffsverteilung und zum Nutzen f\u00fcr die Anwendung passt. Redis empfiehlt, die beobachtete Quote im Kontext des jeweiligen Zugriffsmusters zu beurteilen; ein Prozentwert allein erkl\u00e4rt noch keine WordPress Performance.","ref":""},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Erfasse zun\u00e4chst eine repr\u00e4sentative Ausgangsmessung mit Zeitraum, Messbereich, Zugriffszahl und Quote. Halte dazu Antwortzeiten wichtiger Request-Typen, Datenbanklast und Fehlerrate fest. Kennzeichne Kaltstarts gesondert und ber\u00fccksichtige typische Unterschiede zwischen Zeiten mit wenig und viel Betrieb, statt ein zuf\u00e4llig g\u00fcnstiges Fenster als Normalzustand zu behandeln.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Plane anschlie\u00dfend eine konkrete \u00c4nderung und pr\u00fcfe sie nach Freigabe m\u00f6glichst zuerst in einer geeigneten Testumgebung. Stelle danach vergleichbare Zeitr\u00e4ume und Request-Mischungen gegen\u00fcber: \u00c4ndern sich Quote und Anzahl der Lookups, aber auch die Latenz oder die Datenbanklast? So l\u00e4sst sich der Effekt besser von einer blo\u00dfen Verschiebung der Zugriffe unterscheiden.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Auch eine hohe Quote kann wenige, besonders teure Misses verdecken. Umgekehrt muss eine moderate Quote kein Problem sein, wenn relevante Anfragen schnell und korrekt beantwortet werden. Zus\u00e4tzlicher Betriebsaufwand f\u00fcr Redis oder ein anderes persistentes Backend ist durch eine bessere Quote allein nicht automatisch gerechtfertigt; ber\u00fccksichtige Hosting-Unterst\u00fctzung, Kosten und m\u00f6gliche Ausfallszenarien.","ref":""},{"kind":"citation","text":"","ref":"S1"},{"kind":"citation","text":"","ref":"S4"}]}]}]},"plan":{"reader_question":"Wie misst und beurteilst du die Hit Rate des WordPress Object Cache oder eines Redis-Backends, und welcher Zielbereich ist f\u00fcr deine Website sinnvoll?","sections":[{"id":"object-cache-grundlagen","heading":"Was der WordPress Object Cache speichert","part":1,"target_words":270,"purpose":"In kurzen Abs\u00e4tzen Schl\u00fcssel und Gruppen sowie den requestgebundenen Core-Cache erkl\u00e4ren. Persistente Drop-ins und weiterhin nicht persistente Gruppen abgrenzen. Transients als regenerierbare Daten behandeln: Ihre Ablaufzeit garantiert keine Mindestverf\u00fcgbarkeit. Redis als m\u00f6gliche Backend-Option, nicht als Voraussetzung darstellen.","source_ids":["S1","S3","S8"],"internal_link_ids":[]},{"id":"cache-ebenen","heading":"Object Cache und Page Cache unterscheiden","part":1,"target_words":270,"purpose":"An einem Seitenaufruf zeigen, wie Page Cache und Object Cache unterschiedliche Arbeit vermeiden; Browser- und Opcode-Cache knapp abgrenzen. Erkl\u00e4ren, dass WP_CACHE allein keinen Redis Object Cache aktiviert und ein Page-Cache-Treffer den WordPress-Anwendungspfad umgehen kann. Den internen Artikel als erg\u00e4nzendes Beispiel f\u00fcr mehrere Cache-Ebenen verlinken, nicht als Prim\u00e4rbeleg.","source_ids":["S1","S2"],"internal_link_ids":["I1"]},{"id":"hit-rate-grundlagen","heading":"Was Hits und Misses aussagen","part":1,"target_words":270,"purpose":"Hit, Miss und die Formel Hits \/ (Hits + Misses) \u00d7 100 erkl\u00e4ren; bei null Zugriffen ist die Quote nicht definiert. Erwartbare Misses beim Erstzugriff oder Ablauf von Fehlern unterscheiden. Anschlie\u00dfend WordPress-Core-Z\u00e4hlung, m\u00f6gliche Drop-in-Z\u00e4hlweisen und globale Redis-Key-Lookups gegen\u00fcberstellen; ein fehlgeschlagenes EXISTS kann bei Redis ebenfalls als Miss z\u00e4hlen.","source_ids":["S1","S4","S5"],"internal_link_ids":[]},{"id":"messung-vorbereiten","heading":"Messbereich und Zugriff sicher pr\u00fcfen","part":2,"target_words":270,"purpose":"Eine lesende Bestandsaufnahme im WordPress-Verzeichnis mit wp cache type und bei Berechtigung mit INFO stats und INFO memory planen. Grenzen der Erkennung, Plugin-Version und Z\u00e4hlweise sowie Instanz, Knoten und weitere Redis-Nutzer dokumentieren. Zugangsdaten nicht in Beispiele aufnehmen und Ausgaben vor Weitergabe pr\u00fcfen; Flush- oder Lasttestbefehle nicht voraussetzen.","source_ids":["S1","S6","S7"],"internal_link_ids":[]},{"id":"intervall-berechnen","heading":"Redis Hit Rate im Intervall berechnen","part":2,"target_words":270,"purpose":"Zwei Ablesungen derselben Instanz und die Berechnung aus Z\u00e4hlerdifferenzen erl\u00e4utern. Das ausdr\u00fccklich illustrative Beispiel mit 900 Hits und 100 Misses ergibt 90 Prozent bei 1.000 Lookups, aber weder 90 Prozent schnellere Seiten noch 900 gesparte Datenbankabfragen. Z\u00e4hlerr\u00fcckg\u00e4nge als Bruch behandeln; bei mehreren Knoten passende Z\u00e4hler addieren statt Prozentwerte ungewichtet zu mitteln.","source_ids":["S4","S7"],"internal_link_ids":[]},{"id":"messprotokoll-kennzahlen","heading":"Messprotokoll und Redis-Kennzahlen","part":2,"target_words":270,"purpose":"Eine informative Tabelle mit keyspace_hits, keyspace_misses, expired_keys und evicted_keys planen: Bedeutung, sichere Interpretation und jeweilige Grenze. Anschlie\u00dfend ein knappes Messprotokoll mit Zeitraum, Instanz oder Knoten, Differenzen, Quote, Request-Typ, Latenz, Datenbanklast und Fehlerrate beschreiben. Keine Zeitreihe oder Messwerte erfinden.","source_ids":["S4","S7"],"internal_link_ids":[]},{"id":"szenarien-einordnen","heading":"Kaltstart, Shop und statische Website","part":3,"target_words":270,"purpose":"Drei kurze Praxisf\u00e4lle gegen\u00fcberstellen: Kalt- und Warmphase getrennt auswerten; bei Shop oder Login vergleichbare dynamische Requests und deren Korrektheit pr\u00fcfen; bei starkem Page Cache Nutzen f\u00fcr verbleibende WordPress-Requests und gesamte Website unterscheiden. Gemeinsame Redis-Instanzen als Zuordnungsgrenze erg\u00e4nzen, ohne aus einer Beobachtung eine sichere Ursache abzuleiten.","source_ids":["S1","S4","S7"],"internal_link_ids":[]},{"id":"fehlersuche-betrieb","heading":"Auff\u00e4llige Werte und Fehler untersuchen","part":3,"target_words":270,"purpose":"M\u00f6gliche Ursachen niedriger Quoten wie Erstzugriffe, kurze Lebensdauer oder Zugriffsverteilung als Hypothesen formulieren. expired_keys und evicted_keys im Konfigurationskontext pr\u00fcfen; l\u00e4ngere TTL kann Aktualit\u00e4t kosten. F\u00fcr Entwickler found bei wp_cache_get und wp_cache_supports vor gruppenbezogenen Aktionen erkl\u00e4ren. Vor unbedachtem Flush und Kaltstartfolgen warnen; den internen Artikel erg\u00e4nzend zur Fehlersuche verlinken.","source_ids":["S1","S4","S5","S7"],"internal_link_ids":["I3"]},{"id":"zielwerte-entscheidung","heading":"Sinnvolle Zielwerte selbst bestimmen","part":3,"target_words":270,"purpose":"Einen Entscheidungsrahmen statt einer universellen 90-Prozent-Schwelle geben: repr\u00e4sentative Ausgangsmessung, Zugriffszahl und relevante Latenz-, Datenbank- und Fehlermetriken erfassen; eine freigegebene \u00c4nderung m\u00f6glichst zuerst in geeigneter Testumgebung pr\u00fcfen und vergleichbare Last gegen\u00fcberstellen. Einordnen, dass hohe Quoten teure Misses verdecken k\u00f6nnen und zus\u00e4tzlicher Betriebsaufwand ohne messbaren Nutzen nicht automatisch gerechtfertigt ist.","source_ids":["S1","S4"],"internal_link_ids":[]}]},"repairs":0,"reviews":1,"issues":[],"guard":{"content_md5":"038d560f6167904965544a3462adf644","title":"WordPress-objektcache-hitrate: Betydning og fornuftige m\u00e5lv\u00e6rdier","slug":"wordpress-objektcaches-hitrate","excerpt":"En h\u00f8j hitrate i objektcachen garanterer ikke, at et WordPress-websted er hurtigt. Det afg\u00f8rende er m\u00e5leomr\u00e5det, tidsperioden og antallet af adgangsforesp\u00f8rgsler samt indvirkningen p\u00e5 svartiden og databasebelastningen.","status":"draft","featured_media":22172},"verify":{"content_md5":"038d560f6167904965544a3462adf644","title":"WordPress-objektcache-hitrate: Betydning og fornuftige m\u00e5lv\u00e6rdier","slug":"wordpress-objektcaches-hitrate","excerpt":"En h\u00f8j hitrate i objektcachen garanterer ikke, at et WordPress-websted er hurtigt. Det afg\u00f8rende er m\u00e5leomr\u00e5det, tidsperioden og antallet af adgangsforesp\u00f8rgsler samt indvirkningen p\u00e5 svartiden og databasebelastningen.","status":"draft","featured_media":22172},"row_number":1938,"created_at":"2026-11-04T13:47:02+00:00","editorial_policy":{"version":"2.1.6","max_repairs":4,"review_model_from_attempt":2},"updated_at":"2026-11-04T13:51:59+00:00","verified_at":"2026-11-04T13:51:40+00:00"},"_wh_make_research":"# Recherchebriefing: WordPress Object Cache Hit Rate\n\nRechercheangabe: 4. November 2026  \nGeplanter Artikelumfang: 2.400\u20132.700 W\u00f6rter  \nStatus: Briefing, kein fertiger Artikel\n\n## Leserfrage und Kernaussage\n\nWie l\u00e4sst sich die Hit Rate des WordPress Object Cache beziehungsweise eines Redis-Backends richtig messen und beurteilen? Und welcher Zielwert ist f\u00fcr die eigene Website sinnvoll?\n\nDie zentrale Aussage des Artikels sollte lauten: Eine Hit Rate beschreibt Treffer innerhalb einer definierten Messgr\u00f6\u00dfe. Sie ist weder unmittelbar ein Ma\u00df f\u00fcr die gesamte WordPress Performance noch gibt es einen belegten, f\u00fcr alle Websites g\u00fcltigen Prozent-Zielwert. Aussagekr\u00e4ftig wird sie erst zusammen mit Messbereich, Zeitraum, Datenmenge, Lastprofil und Auswirkungen auf Antwortzeiten und Datenbank.\n\nAls redaktionelle Leitlinie empfiehlt sich deshalb ein standortspezifischer Zielbereich: Zun\u00e4chst eine belastbare Ausgangsmessung erfassen, dann eine konkrete Ver\u00e4nderung an einer vergleichbaren Last pr\u00fcfen. Ein hoher Wert allein ist kein Erfolgsnachweis.\n\n## Voraussetzungen und Begriffe\n\nDie Zielgruppe sollte WordPress administrieren und unterscheiden k\u00f6nnen, ob ein persistenter Object Cache aktiv ist. Grundkenntnisse zu Datenbank, Hosting und gegebenenfalls Redis helfen; Root-Zugriff ist zum Verst\u00e4ndnis nicht erforderlich.\n\nDer WordPress Object Cache speichert Daten unter Schl\u00fcsseln und Gruppen, um wiederholte teure Zugriffe oder Berechnungen zu vermeiden. Der Core-Cache ist standardm\u00e4\u00dfig nicht persistent: Seine Inhalte stehen nur w\u00e4hrend des jeweiligen Requests zur Verf\u00fcgung. Ein Drop-in kann ihn durch eine persistente Implementierung ersetzen. Manche Gruppen bleiben trotzdem nur f\u00fcr den aktuellen Request verf\u00fcgbar. ([developer.wordpress.org](https:\/\/developer.wordpress.org\/reference\/classes\/wp_object_cache\/?utm_source=openai))\n\nEin Page Cache speichert dagegen vollst\u00e4ndige Seitenantworten. Bedient er eine Anfrage, muss WordPress f\u00fcr diese Anfrage nicht unbedingt den gleichen Anwendungspfad durchlaufen. Ein Object Cache ersetzt au\u00dferdem weder Browser-Cache noch PHP-Opcode-Cache. Das alleinige Setzen von WP_CACHE aktiviert keinen Redis Object Cache. ([developer.wordpress.org](https:\/\/developer.wordpress.org\/advanced-administration\/wordpress\/wp-config\/?utm_source=openai))\n\nF\u00fcr Transients gilt: Mit persistentem Object Cache k\u00f6nnen sie dar\u00fcber gespeichert werden; ohne ihn liegen sie normalerweise in der Datenbank. Eine vorgegebene Ablaufzeit ist keine Garantie f\u00fcr eine Mindestverf\u00fcgbarkeit: Ein Transient kann vorher verschwinden und muss regenerierbar sein. ([developer.wordpress.org](https:\/\/developer.wordpress.org\/news\/2024\/06\/an-introduction-to-the-transients-api\/?utm_source=openai))\n\n## Funktionsweise und Messgr\u00f6\u00dfen\n\nEin Cache-Hit bedeutet, dass ein gesuchter Eintrag auf der jeweiligen Cache-Ebene gefunden wurde; ein Miss bedeutet, dass er dort nicht gefunden wurde. Die Quote lautet grunds\u00e4tzlich:\n\nHit Rate = Hits \/ (Hits + Misses) \u00d7 100\n\nIst die Summe aus Hits und Misses null, ist die Quote f\u00fcr dieses Fenster nicht definiert. Ein Miss ist nicht automatisch ein Fehler: Ein noch nicht bef\u00fcllter Cache oder ein abgelaufener Eintrag f\u00fchrt erwartbar zu einem Miss.\n\nWichtig ist die Trennung zweier Ebenen:\n\n- WordPress- beziehungsweise Plugin-Metriken k\u00f6nnen Cache-Zugriffe aus Sicht der jeweiligen Implementierung erfassen. Welche Zugriffe und Zeitr\u00e4ume ein Plugin tats\u00e4chlich z\u00e4hlt, muss anhand seiner Dokumentation und Version gepr\u00fcft werden.\n- Redis meldet mit keyspace_hits und keyspace_misses erfolgreiche beziehungsweise erfolglose Key-Lookups im Redis-Keyspace. Auch ein fehlgeschlagener EXISTS-Aufruf z\u00e4hlt als Miss. Die Redis-Quote ist deshalb nicht automatisch die WordPress-Object-Cache-Quote. ([redis.io](https:\/\/redis.io\/docs\/latest\/reference\/eviction\/?utm_source=openai))\n\nDie Werte k\u00f6nnen au\u00dferdem unterschiedliche Nutzungen einer gemeinsam verwendeten Redis-Instanz umfassen. Bei Cluster- oder Replikationsumgebungen muss dokumentiert werden, welche Knoten die Messung enth\u00e4lt. F\u00fcr eine Gesamtrate m\u00fcssen passende Hit- und Miss-Z\u00e4hler addiert werden; der ungewichtete Mittelwert einzelner Prozentzahlen kann irref\u00fchren.\n\nDie WordPress-Core-Methode z\u00e4hlt in ihrer eigenen Implementierung Treffer und Fehlversuche. Ein Drop-in darf die Implementierung ersetzen; deshalb deren Z\u00e4hlweise nicht aus dem Core-Verhalten ableiten. ([developer.wordpress.org](https:\/\/developer.wordpress.org\/reference\/classes\/WP_Object_Cache\/get\/?utm_source=openai))\n\n## Messkonzept und sichere Beispiele\n\nF\u00fcr eine aussagekr\u00e4ftige Redis-Auswertung zwei Ablesungen derselben Instanz zu Beginn und Ende eines definierten Zeitfensters erfassen. Aus den Differenzen der Z\u00e4hler berechnen:\n\nIntervall-Hit-Rate = \u0394Hits \/ (\u0394Hits + \u0394Misses) \u00d7 100\n\nBeispiel, ausdr\u00fccklich keine Messung: Steigen Hits im Fenster um 900 und Misses um 100, ergibt das 90 Prozent bei 1.000 gez\u00e4hlten Lookups. Die Quote belegt weder 90 Prozent schnellere Seiten noch, dass 900 Datenbankabfragen eingespart wurden.\n\nWenn ein Z\u00e4hler zur\u00fcckgeht, etwa nach Neustart oder Zur\u00fccksetzen der Statistik, ist die Differenz \u00fcber diesen Bruch nicht g\u00fcltig. Das Fenster muss neu begonnen beziehungsweise anhand von Betriebsdaten aufgeteilt werden. Parallel zu Quote und Anzahl der Lookups sollten mindestens Antwortzeiten f\u00fcr relevante Request-Typen, Datenbanklast und Fehlerraten betrachtet werden. Redis nennt au\u00dferdem evicted_keys und expired_keys als Diagnosewerte; deren Aussage ist im Kontext der jeweiligen Konfiguration zu pr\u00fcfen. ([redis.io](https:\/\/redis.io\/docs\/latest\/reference\/eviction\/?utm_source=openai))\n\nGeeignete, lesende Abfragen:\n\n- Terminalbefehl im WordPress-Verzeichnis: wp cache type  \n  Versucht, die verwendete Object-Cache-Implementierung zu bestimmen. Das Ergebnis allein beweist nicht, dass jeder relevante Zugriff persistent gespeichert wird. ([developer.wordpress.org](https:\/\/developer.wordpress.org\/cli\/commands\/cache\/?utm_source=openai))\n- Redis-CLI-Befehle: INFO stats und INFO memory  \n  Liefern, sofern Berechtigungen und Betriebsumgebung es erlauben, Statistik- beziehungsweise Speicherinformationen. Zugangsdaten nicht in Befehlsbeispiele schreiben und Ausgaben vor Weitergabe auf sensible Betriebsinformationen pr\u00fcfen. ([redis.io](https:\/\/redis.io\/docs\/latest\/commands\/info\/?utm_source=openai))\n\nKeine Flush-, Schreib- oder Lasttestbefehle auf produktiven Systemen als notwendige Diagnose darstellen. Ein Cache-Flush kann die Aussagekraft durch einen Kaltstart ver\u00e4ndern und andere Anwendungen betreffen.\n\n## Praxisf\u00e4lle f\u00fcr den sp\u00e4teren Artikel\n\n1. Kaltstart nach Deployment oder Neustart. Anfangs fehlen Eintr\u00e4ge; anschlie\u00dfend kann sich die Quote bei wiederkehrenden Zugriffen stabilisieren. Kalt- und Warmphase getrennt auswerten, statt beide in einem langen Durchschnitt zu verstecken.\n\n2. Dynamischer Shop oder eingeloggter Bereich. Ein Page Cache bedient m\u00f6glicherweise nicht alle relevanten Anfragen. Hier gezielt vergleichbare dynamische Requests, Datenbanklast und Latenz betrachten. Eine hohe Redis-Quote allein sagt nicht, ob Warenkorb- oder Kontoantworten schnell und korrekt sind.\n\n3. \u00dcberwiegend statische Website mit Page Cache. Wenn viele Seiten bereits vor WordPress beantwortet werden, kann ein persistenter Object Cache nur die verbleibenden WordPress-Requests beeinflussen. Der Nutzen muss f\u00fcr diese Requests und f\u00fcr die gesamte Website getrennt beurteilt werden.\n\n4. Gemeinsam genutztes Redis. Weitere Websites oder Anwendungen k\u00f6nnen die globalen Redis-Z\u00e4hler beeinflussen. Ohne geeignete getrennte Telemetrie ist eine Zuordnung der Redis-Hit-Rate zu einer einzelnen Website nicht belastbar.\n\n5. Niedrige Quote trotz ausreichendem Speicher. H\u00e4ufige Erstzugriffe, kurze Lebensdauer oder die Eigenheiten der Zugriffsverteilung sind m\u00f6gliche Erkl\u00e4rungen. Hohe expired_keys k\u00f6nnen ein Hinweis sein, aber nicht allein beweisen, dass eine TTL falsch gew\u00e4hlt ist. Eine Verl\u00e4ngerung kann die Datenaktualit\u00e4t verschlechtern. ([redis.io](https:\/\/redis.io\/docs\/latest\/reference\/eviction\/?utm_source=openai))\n\n## Zielwerte und Entscheidungen\n\nKeine pauschale Schwelle wie \u201emindestens 90 Prozent\u201c als technische Anforderung oder Herstellerempfehlung formulieren. Redis empfiehlt, die beobachtete Quote mit der erwarteten Zugriffsverteilung der konkreten Anwendung zu vergleichen. Eine hohe Quote kann bei g\u00fcnstigen, h\u00e4ufigen Treffern entstehen, w\u00e4hrend wenige teure Misses die Latenz dominieren. ([redis.io](https:\/\/redis.io\/docs\/latest\/reference\/eviction\/?utm_source=openai))\n\nDer Artikel kann stattdessen einen Entscheidungsrahmen anbieten:\n\n- Quote und Zugriffszahl \u00fcber repr\u00e4sentative Zeitfenster erfassen; auff\u00e4llige Warm-up-Phasen separat kennzeichnen.\n- Einen Ausgangswert mit Antwortzeit, Datenbanklast und Fehlerrate verbinden.\n- Nur eine \u00c4nderung nach Freigabe und m\u00f6glichst zuerst in einer geeigneten Testumgebung untersuchen.\n- Danach vergleichbare Zeitr\u00e4ume und Request-Mischungen gegen\u00fcberstellen. Eine verbesserte Quote ohne relevanten Nutzen f\u00fcr Latenz oder Last rechtfertigt zus\u00e4tzliche Komplexit\u00e4t nicht automatisch.\n- Redis und andere persistente Backends als Alternativen darstellen, nicht als Voraussetzung jeder WordPress-Installation. Kosten, Betriebsaufwand, Ausfallszenarien und Hosting-Unterst\u00fctzung m\u00fcssen im Einzelfall gepr\u00fcft werden. WordPress nennt neben Redis auch andere Backend-Ans\u00e4tze. ([developer.wordpress.org](https:\/\/developer.wordpress.org\/reference\/classes\/wp_object_cache\/?utm_source=openai))\n\n## Grenzen, typische Fehler und Tabellen\n\nTypische Fehler sind die Gleichsetzung von Redis- und WordPress-Quote, die Auswertung von Gesamtz\u00e4hlern ohne Zeitfenster, Prozentvergleiche ohne Stichprobengr\u00f6\u00dfe und das Vermischen von Kalt- und Warmphase. Ebenfalls problematisch: eine l\u00e4ngere Lebensdauer ausschlie\u00dflich zur Quotenerh\u00f6hung w\u00e4hlen oder Cache-Inhalte als dauerhaft verf\u00fcgbare Prim\u00e4rdaten behandeln.\n\nF\u00fcr Entwickler ist bei wp_cache_get der Parameter found wichtig: Ein gespeicherter Wert false muss von einem nicht gefundenen Eintrag unterschieden werden. Bei Funktionen wie wp_cache_flush_group sind F\u00e4higkeiten des konkreten Backends mit wp_cache_supports zu pr\u00fcfen; ein unbedachter Flush kann mehr l\u00f6schen als beabsichtigt. ([developer.wordpress.org](https:\/\/developer.wordpress.org\/reference\/classes\/WP_Object_Cache\/get\/?utm_source=openai))\n\nGeeignete Tabellen f\u00fcr den Artikel:\n\n- Cache-Ebenen: gespeicherte Daten, Geltungsbereich und welche Metrik jeweils etwas aussagt.\n- Redis-Kennzahlen: keyspace_hits, keyspace_misses, expired_keys und evicted_keys; jeweils Bedeutung und Interpretationsgrenze.\n- Szenarien: Beobachtung, m\u00f6gliche Ursachen, n\u00e4chste sichere Pr\u00fcfung; keine automatischen Diagnosen.\n- Messprotokoll: Zeitraum, Instanz beziehungsweise Knoten, \u0394Hits, \u0394Misses, Quote, Request-Typ und begleitende Latenz.\n\nKeinen Chart vorschlagen: F\u00fcr einen belastbaren Verlauf liegen keine Messdaten vor. Das Rechenbeispiel gen\u00fcgt, um die Formel zu erkl\u00e4ren.\n\n## Quellenbestand\n\n- S1: WordPress Developer Resources, WP_Object_Cache \u2014 Grundlagen, Persistenz und Backend-F\u00e4higkeiten. ([developer.wordpress.org](https:\/\/developer.wordpress.org\/reference\/classes\/wp_object_cache\/?utm_source=openai))\n- S2: Redis-Dokumentation, Key eviction \u2014 Hit-Rate-Formel und Diagnosehinweise. ([redis.io](https:\/\/redis.io\/docs\/latest\/reference\/eviction\/?utm_source=openai))\n- S3: Redis-Dokumentation, INFO \u2014 Definitionen der Statistik- und Speicherfelder. ([redis.io](https:\/\/redis.io\/docs\/latest\/commands\/info\/?utm_source=openai))\n- S4: WordPress Developer Resources, WP_Object_Cache::get() \u2014 Core-Z\u00e4hlung und found-Parameter. ([developer.wordpress.org](https:\/\/developer.wordpress.org\/reference\/classes\/WP_Object_Cache\/get\/?utm_source=openai))\n- S5: WordPress Developer Resources, wp cache \u2014 WP-CLI-Unterbefehle. ([developer.wordpress.org](https:\/\/developer.wordpress.org\/cli\/commands\/cache\/?utm_source=openai))\n- S6: WordPress Common APIs Handbook, Transients \u2014 Ablauf und Regenerierbarkeit. ([developer.wordpress.org](https:\/\/developer.wordpress.org\/apis\/transients\/?utm_source=openai))\n\nEs wurden keine internen Artikel oder I-IDs bereitgestellt; interne Verlinkungen sind daher nicht eingeplant.","_wh_make_sources":{"S1":{"id":"S1","url":"https:\/\/developer.wordpress.org\/reference\/classes\/wp_object_cache\/?utm_source=openai","title":"WP_Object_Cache \u2013 Klasse | Developer.WordPress.org"},"S2":{"id":"S2","url":"https:\/\/developer.wordpress.org\/advanced-administration\/wordpress\/wp-config\/?utm_source=openai","title":"Redigering af wp-config.php \u2013 H\u00e5ndbog i avanceret administration | Developer.WordPress.org"},"S3":{"id":"S3","url":"https:\/\/developer.wordpress.org\/news\/2024\/06\/an-introduction-to-the-transients-api\/?utm_source=openai","title":"En introduktion til Transients API \u2013 WordPress Developer Blog"},"S4":{"id":"S4","url":"https:\/\/redis.io\/docs\/latest\/reference\/eviction\/?utm_source=openai","title":"Key eviction | Dokumenter"},"S5":{"id":"S5","url":"https:\/\/developer.wordpress.org\/reference\/classes\/WP_Object_Cache\/get\/?utm_source=openai","title":"WP_Object_Cache::get() \u2013 Metode | Developer.WordPress.org"},"S6":{"id":"S6","url":"https:\/\/developer.wordpress.org\/cli\/commands\/cache\/?utm_source=openai","title":"wp cache \u2013 WP-CLI-kommando | Developer.WordPress.org"},"S7":{"id":"S7","url":"https:\/\/redis.io\/docs\/latest\/commands\/info\/?utm_source=openai","title":"INFO | Dokumenter"},"S8":{"id":"S8","url":"https:\/\/developer.wordpress.org\/apis\/transients\/?utm_source=openai","title":"Transients \u2013 H\u00e5ndbog om f\u00e6lles API\u2019er | Developer.WordPress.org"}},"_wh_make_usage":{"research":{"input_tokens":13586,"output_tokens":2679,"response_id":"resp_05e37f38e5ef338a016aeb37587b1087d2a30465339e023b90","model":"gpt-6.1-terra","search_calls":1},"plan_c0d0cebf6eba5845f08d9651a292169c":{"input_tokens":5805,"output_tokens":1509,"response_id":"resp_005fd6d0c87b64ff016aeb3783264887d2842d8899119e72a5","model":"gpt-6.1-terra","search_calls":0},"part1_5f7d78d2b3d12019dfeb20b2e03d4d19":{"input_tokens":8254,"output_tokens":1761,"response_id":"resp_0d5f642a9d7515c7016aeb3797959087d2afef65400264c42f","model":"gpt-6.1-terra","search_calls":0},"part2_55f0a5046ca2fb35eaf7b332efa7f6e5":{"input_tokens":8294,"output_tokens":2060,"response_id":"resp_0c2c34415db3f640016aeb37ad9cf887d2b4b277ee8c4247a5","model":"gpt-6.1-terra","search_calls":0},"part3_c77b98b0daafa2dca87a757b4518feae":{"input_tokens":8356,"output_tokens":1580,"response_id":"resp_08aadc4099d4799c016aeb37c9f50487d2ac22d5437ebc18f8","model":"gpt-6.1-terra","search_calls":0},"package_11a4e9c894c8e5e63c8748041adb1d2e":{"input_tokens":15113,"output_tokens":1626,"response_id":"resp_0bd07caab12a8a26016aeb37e3e59487d2a7114548914885ca","model":"gpt-6.1-terra","search_calls":0},"review_069e443c8af021aba56b45c97be196a1":{"input_tokens":38185,"output_tokens":744,"response_id":"resp_044e0b28558825bf016aeb37fcb0ec87d2bb7b66b81baa8e0e","model":"gpt-6.1-sol","search_calls":4},"image_hero":{"input_tokens":164,"output_tokens":1372,"response_id":"","model":"gpt-image-2.5-flare","search_calls":0},"image_detail1":{"input_tokens":168,"output_tokens":1372,"response_id":"","model":"gpt-image-2.5-flare","search_calls":0},"image_detail2":{"input_tokens":171,"output_tokens":1372,"response_id":"","model":"gpt-image-2.5-flare","search_calls":0}},"_wh_make_last_error":"","_wh_make_write_intent":{"before":{"content_md5":"50a01b1c31326042935e147f6c9cdab4","title":"WordPress-objektcache-hitrate: Betydning og fornuftige m\u00e5lv\u00e6rdier","slug":"wordpress-objektcaches-hitrate","excerpt":"En h\u00f8j hitrate i objektcachen garanterer ikke, at et WordPress-websted er hurtigt. Det afg\u00f8rende er m\u00e5leomr\u00e5det, tidsperioden og antallet af adgangsforesp\u00f8rgsler samt indvirkningen p\u00e5 svartiden og databasebelastningen.","status":"draft","featured_media":0},"expected":{"content_md5":"038d560f6167904965544a3462adf644","title":"WordPress-objektcache-hitrate: Betydning og fornuftige m\u00e5lv\u00e6rdier","slug":"wordpress-objektcaches-hitrate","excerpt":"En h\u00f8j hitrate i objektcachen garanterer ikke, at et WordPress-websted er hurtigt. Det afg\u00f8rende er m\u00e5leomr\u00e5det, tidsperioden og antallet af adgangsforesp\u00f8rgsler samt indvirkningen p\u00e5 svartiden og databasebelastningen.","status":"draft","featured_media":22172},"at":"2026-11-04T13:51:29+00:00"},"_wh_make_design_version":"2.1.19","rank_math_title":"WordPress Object Cache Hit Rate richtig bewerten","_wh_make_doc":{"title":"WordPress-objektcache-hitrate: Betydning og fornuftige m\u00e5lv\u00e6rdier","slug":"wordpress-objektcaches-hitrate","excerpt":"En h\u00f8j hitrate i objektcachen garanterer ikke, at et WordPress-websted er hurtigt. Det afg\u00f8rende er m\u00e5leomr\u00e5det, tidsperioden og antallet af adgangsforesp\u00f8rgsler samt indvirkningen p\u00e5 svartiden og databasebelastningen.","seo":{"title":"S\u00e5dan vurderes WordPress-objektcaches hitrate korrekt","description":"M\u00e5l WordPress Object Cache og Redis-hitraten korrekt, og find et m\u00e5linterval, der passer til din hjemmeside og dens foresp\u00f8rgsler.","focus_keyword":"WordPress Object Cache Hit Rate"},"lead":[{"kind":"text","text":"Die Hit Rate des WordPress Object Cache zeigt, welcher Anteil der erfassten Cache-Zugriffe einen Eintrag findet. ","ref":""},{"kind":"strong","text":"Ein allgemeing\u00fcltiger Zielwert existiert nicht.","ref":""},{"kind":"text","text":" Eine Redis Hit Rate misst zudem nicht automatisch dasselbe wie die Anzeige eines WordPress-Plugins. Aussagekr\u00e4ftig wird die Quote erst, wenn Messbereich, Zeitraum und Zahl der Zugriffe bekannt sind. Vergleiche sie mit Antwortzeiten wichtiger Anfragen, Datenbanklast und Fehlerrate: So erkennst du, ob eine \u00c4nderung deiner Website tats\u00e4chlich n\u00fctzt, statt lediglich eine Prozentzahl zu verbessern.","ref":""},{"kind":"citation","text":"","ref":"S4"},{"kind":"citation","text":"","ref":"S1"}],"images":{"hero":{"prompt":"Sachliche redaktionelle Illustration zur Aussagekraft einer Cache-Trefferquote: In seitlicher Ansicht f\u00fchrt eine Reihe kleiner, matter Papierformen zu einem flachen Fach mit wenigen vorhandenen Formen. Einige Anfragen finden eine passende Form, andere f\u00fchren sichtbar am Fach vorbei. Die Anordnung verdeutlicht Treffer und fehlende Eintr\u00e4ge, ohne konkrete Anzahlen, Messwerte oder technische Abl\u00e4ufe zu behaupten. Gro\u00dfz\u00fcgiger heller Hintergrund, gedeckte erdige Farben, ruhige asymmetrische Komposition. Keine Menschen, keine Schrift, Zahlen, Logos, Diagramme oder Wasserzeichen.","alt":"KI-generierte Illustration von passenden und fehlenden Formen an einem Cache-Fach als Sinnbild f\u00fcr Hits und Misses.","caption":"KI-generierte Illustration: Treffer und Misses beschreiben Zugriffe auf eine bestimmte Cache-Ebene, nicht unmittelbar die Geschwindigkeit einer Website.","filename_base":"wordpress-object-cache-hits-misses","section_id":"","after_block":0},"detail1":{"prompt":"Fotografisches KI-generiertes Symbolbild zum Messprotokoll einer Cache-Auswertung: Auf einem leicht benutzten Holzschreibtisch liegen ein geschlossenes schlichtes Notizbuch, ein Stift und ein einfacher analoger K\u00fcchenwecker nebeneinander. Enge schr\u00e4ge Draufsicht auf die Gegenst\u00e4nde, weiches vorhandenes Tageslicht, nat\u00fcrliche Materialien und kleine Gebrauchsspuren. Der Wecker symbolisiert das abgegrenzte Zeitfenster; es wird keine tats\u00e4chliche Messung dargestellt. Keine Personen, Monitore, lesbaren Ziffern oder Texte, keine Logos und Wasserzeichen.","alt":"KI-generiertes Symbolbild eines Notizbuchs mit Stift und analogem Wecker auf einem gebrauchten Schreibtisch.","caption":"KI-generiertes Symbolbild: Ein festgehaltenes Zeitfenster geh\u00f6rt zu einem nachvollziehbaren Messprotokoll.","filename_base":"cache-messprotokoll-zeitfenster","section_id":"messprotokoll-kennzahlen","after_block":4},"detail2":{"prompt":"Sachliche redaktionelle Illustration zum Vergleich von Kalt- und Warmphase eines Object Cache: Zwei nebeneinander angeordnete Ansichten desselben schlichten Fachs zeigen links wenige und rechts mehr darin liegende kleine Formen. Davor liegen jeweils einige passende Anfrageformen; die Darstellung deutet die allm\u00e4hliche Bef\u00fcllung an, ohne feste Trefferquoten oder einen zeitlichen Verlauf als Messung auszugeben. Flache matte Papieroptik, frontale Perspektive, ged\u00e4mpftes Ocker und Grau auf hellem Grund. Keine Menschen, Schrift, Zahlen, Logos, Diagrammachsen oder Wasserzeichen.","alt":"KI-generierte Illustration eines wenig und eines st\u00e4rker gef\u00fcllten Fachs f\u00fcr Kalt- und Warmphase des Cache.","caption":"KI-generierte Illustration: Kalt- und Warmphase getrennt zu betrachten verhindert, dass ein Durchschnitt die Anlaufzeit verdeckt.","filename_base":"object-cache-kaltphase-warmphase","section_id":"szenarien-einordnen","after_block":1}},"chart":null,"social":{"facebook":"Sind 90 Prozent Cache Hit Rate genug? Eine allgemeine Mindestquote hilft bei WordPress wenig. Entscheidend sind Messbereich, Zugriffszahl und die Auswirkungen auf wichtige Anfragen.","instagram":"Eine hohe Hit Rate ist noch kein Beweis f\u00fcr eine schnelle Website. Miss Cache-Zugriffe im Kontext von Zeitraum, Antwortzeit und Datenbanklast.","tiktok":"Redis Hit Rate gleich WordPress Performance? Nicht automatisch. Erfahre, warum Messbereich und Lastprofil wichtiger sind als eine pauschale Prozentzahl.","youtube":"WordPress Object Cache Hit Rate richtig einordnen: Was Redis tats\u00e4chlich z\u00e4hlt, wie du ein Intervall berechnest und warum es keinen universellen Zielwert gibt.","threads":"Eine gute Cache-Hit-Rate kann teure Misses verdecken. Vergleiche deshalb nicht nur Prozentwerte, sondern auch Zugriffszahlen, Antwortzeiten und Datenbanklast.","x":"Eine hohe Redis Hit Rate beweist weder schnelle WordPress-Seiten noch eingesparte Datenbankabfragen. Miss ein definiertes Intervall und vergleiche Quote und Zugriffszahl mit Latenz, Datenbanklast und Fehlerrate."},"avatar_script":"Die Hit Rate zeigt, wie h\u00e4ufig ein gesuchter Cache-Eintrag gefunden wird. Sie ist aber kein direkter Ma\u00dfstab f\u00fcr die Geschwindigkeit deiner WordPress-Website. Besonders wichtig: Redis z\u00e4hlt Key-Lookups seiner Instanz. Diese Quote kann sich von der Anzeige deines WordPress-Plugins unterscheiden und auch Zugriffe anderer Anwendungen enthalten. F\u00fcr eine Intervallmessung liest du Hits und Misses zu Beginn und am Ende desselben Zeitfensters ab und berechnest die Differenzen. Notiere auch die Zahl der Zugriffe. Einen allgemeinen Zielwert gibt es nicht. Vergleiche stattdessen \u00e4hnliche Anfragen und Zeitr\u00e4ume und achte zus\u00e4tzlich auf Antwortzeiten, Datenbanklast und Fehler. Eine h\u00f6here Quote allein rechtfertigt nicht automatisch mehr Betriebsaufwand.","version_note":"Quellenstand der bereitgestellten Recherche vom 4. November 2026; Plugin-Z\u00e4hlweise und Redis-Konfiguration f\u00fcr die jeweils eingesetzte Version pr\u00fcfen.","sections":[{"id":"object-cache-grundlagen","heading":"Was der WordPress Object Cache speichert","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Der WordPress Object Cache h\u00e4lt Daten unter einem Schl\u00fcssel und innerhalb einer Gruppe bereit. Fragt WordPress denselben Wert erneut ab, kann es ihn aus dem Cache beziehen, statt die zugrunde liegende Arbeit erneut auszuf\u00fchren. Dazu geh\u00f6ren beispielsweise Daten, die sonst aus der Datenbank gelesen oder erneut berechnet werden m\u00fcssten.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Die eingebaute Core-Implementierung ist standardm\u00e4\u00dfig ","ref":""},{"kind":"strong","text":"requestgebunden","ref":""},{"kind":"text","text":": Sie h\u00e4lt ihre Eintr\u00e4ge w\u00e4hrend eines einzelnen Requests vor. Ein sp\u00e4terer Seitenaufruf erh\u00e4lt dadurch nicht automatisch Zugriff auf die zuvor gespeicherten Werte. Trotzdem kann der Cache schon innerhalb eines Requests wiederholte Zugriffe vermeiden.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Ein Drop-in kann die Core-Implementierung durch einen ","ref":""},{"kind":"strong","text":"persistenten Object Cache","ref":""},{"kind":"text","text":" ersetzen. Dann k\u00f6nnen geeignete Eintr\u00e4ge \u00fcber einzelne Requests hinaus erhalten bleiben. Redis ist eine m\u00f6gliche Backend-Option, aber keine Voraussetzung f\u00fcr WordPress; auch andere Backend-Ans\u00e4tze sind m\u00f6glich. Selbst mit einem persistenten Drop-in k\u00f6nnen bestimmte Gruppen weiterhin nur f\u00fcr den aktuellen Request gelten.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Transients sind eine weitere M\u00f6glichkeit, zeitlich begrenzt ben\u00f6tigte Daten abzulegen. Mit einem persistenten Object Cache k\u00f6nnen sie dort gespeichert werden, ohne ihn normalerweise in der Datenbank. Ihre Ablaufzeit bezeichnet keine garantierte Mindestverf\u00fcgbarkeit: Ein Wert kann fr\u00fcher verschwinden. Anwendungscode muss deshalb mit einem fehlenden Transient rechnen und den Wert bei Bedarf regenerieren k\u00f6nnen.","ref":""},{"kind":"citation","text":"","ref":"S3"},{"kind":"citation","text":"","ref":"S8"}]},{"type":"paragraph","runs":[{"kind":"text","text":"F\u00fcr die sp\u00e4tere Bewertung einer Trefferquote ist diese Unterscheidung entscheidend: Ein Zugriff auf den lokalen Cache w\u00e4hrend eines Requests und ein Zugriff auf ein externes Backend sind nicht zwangsl\u00e4ufig dieselbe Messgr\u00f6\u00dfe. Pr\u00fcfe daher zun\u00e4chst, welche Implementierung tats\u00e4chlich verwendet wird und welche Daten sie persistent behandelt.","ref":""}]}]},{"id":"cache-ebenen","heading":"Object Cache und Page Cache unterscheiden","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Bei einem Seitenaufruf kann ein ","ref":""},{"kind":"strong","text":"Page Cache","ref":""},{"kind":"text","text":" eine bereits erzeugte Seitenantwort ausliefern. Wird die Anfrage dort beantwortet, muss sie nicht denselben WordPress-Anwendungspfad durchlaufen wie eine ungecachte Anfrage. Der Object Cache arbeitet dagegen innerhalb der Anwendung mit einzelnen zwischengespeicherten Daten, nicht mit der vollst\u00e4ndigen Seitenantwort.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Stell dir eine \u00f6ffentlich erreichbare Artikelseite vor: Liegt ihre Antwort im Page Cache, kann sie direkt ausgeliefert werden. Muss WordPress die Seite dagegen erzeugen, kann der Object Cache bei wiederholten Datenzugriffen helfen. Welche Arbeit dadurch tats\u00e4chlich entf\u00e4llt, h\u00e4ngt von der Anfrage, den gespeicherten Eintr\u00e4gen und der jeweiligen Implementierung ab.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Das hat Folgen f\u00fcr die Interpretation: Eine gute Object-Cache-Quote beschreibt nur die erfassten Cache-Zugriffe. Sie sagt nicht unmittelbar, wie viele Besucher bereits eine fertige Antwort aus dem Page Cache erhalten oder wie schnell die gesamte Website reagiert. Bei starkem Page Caching kann der Nutzen des Object Cache vor allem bei den verbleibenden WordPress-Requests sichtbar werden.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Auch Browser- und Opcode-Cache erf\u00fcllen andere Aufgaben. Der Browser-Cache h\u00e4lt Ressourcen beim Besucher vor; ein PHP-Opcode-Cache speichert kompilierten PHP-Code. Beide ersetzen weder die Speicherung einzelner Anwendungsdaten im Object Cache noch die Auslieferung einer vollst\u00e4ndigen Antwort aus einem Page Cache.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Die Konstante ","ref":""},{"kind":"code","text":"WP_CACHE","ref":""},{"kind":"text","text":" allein aktiviert keinen Redis Object Cache. F\u00fcr einen persistenten Object Cache brauchst du eine passende Implementierung und deren unterst\u00fctzte Konfiguration. Ein erg\u00e4nzendes Beispiel f\u00fcr das Zusammenspiel mehrerer Ebenen findest du im Beitrag zur ","ref":""},{"kind":"internal_link","text":"AccelerateWP Cache Engine","ref":"I1"},{"kind":"text","text":".","ref":""},{"kind":"citation","text":"","ref":"S1"},{"kind":"citation","text":"","ref":"S2"}]}]},{"id":"hit-rate-grundlagen","heading":"Was Hits und Misses aussagen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Ein ","ref":""},{"kind":"strong","text":"Hit","ref":""},{"kind":"text","text":" liegt vor, wenn ein gesuchter Eintrag auf der betrachteten Cache-Ebene gefunden wird. Ein ","ref":""},{"kind":"strong","text":"Miss","ref":""},{"kind":"text","text":" bedeutet, dass er dort nicht gefunden wird. Die Hit Rate setzt die Treffer ins Verh\u00e4ltnis zu allen gez\u00e4hlten Treffern und Fehlversuchen: Hits \/ (Hits + Misses) \u00d7 100. Gibt es weder Hits noch Misses, ist die Quote f\u00fcr diesen Zeitraum nicht definiert.","ref":""},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Ein Miss ist nicht automatisch ein technischer Fehler. Beim ersten Zugriff kann ein Eintrag noch fehlen; auch nach seinem Ablauf muss er gegebenenfalls neu beschafft oder erzeugt werden. Entscheidend ist, welche Folgen solche Fehlversuche im konkreten Ablauf haben und ob sich Zugriffe \u00fcberhaupt sinnvoll wiederholen.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Die Core-Methode von WordPress z\u00e4hlt in ihrer eigenen Implementierung Cache-Treffer und Fehlversuche. Ein Drop-in kann diese Implementierung jedoch ersetzen. Deshalb l\u00e4sst sich aus der Core-Z\u00e4hlweise nicht sicher ableiten, was eine Plugin-Anzeige erfasst: Pr\u00fcfe f\u00fcr die eingesetzte Version, welche Zugriffe und welchen Zeitraum ihre Kennzahl umfasst.","ref":""},{"kind":"citation","text":"","ref":"S5"},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Redis meldet mit ","ref":""},{"kind":"code","text":"keyspace_hits","ref":""},{"kind":"text","text":" und ","ref":""},{"kind":"code","text":"keyspace_misses","ref":""},{"kind":"text","text":" erfolgreiche beziehungsweise erfolglose Key-Lookups im Redis-Keyspace. Auch ein fehlgeschlagener ","ref":""},{"kind":"code","text":"EXISTS","ref":""},{"kind":"text","text":"-Aufruf kann als Miss z\u00e4hlen. Diese Redis Hit Rate ist daher nicht automatisch mit einer WordPress- oder Plugin-Quote gleichzusetzen.","ref":""},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Kommt eine Redis-Instanz mehreren Websites oder Anwendungen zugute, k\u00f6nnen ihre Z\u00e4hler deren Zugriffe gemeinsam abbilden. Eine globale Quote l\u00e4sst sich dann ohne geeignete getrennte Telemetrie nicht belastbar einer einzelnen WordPress-Website zuordnen. F\u00fcr jeden Vergleich solltest du deshalb festhalten, welche Ebene und welche Instanz die Zahlen \u00fcberhaupt beschreiben.","ref":""}]}]},{"id":"messung-vorbereiten","heading":"Messbereich und Zugriff sicher pr\u00fcfen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Kl\u00e4re vor der Messung, welche Object-Cache-Implementierung WordPress verwendet. Wenn WP-CLI verf\u00fcgbar ist und du Zugriff auf das WordPress-Verzeichnis hast, kannst du dort eine lesende Bestandsaufnahme mit folgendem Befehl beginnen:","ref":""},{"kind":"citation","text":"","ref":"S6"}]},{"type":"code","language":"bash","code":"wp cache type","source_ids":["S6"]},{"type":"paragraph","runs":[{"kind":"text","text":"Das Ergebnis hilft bei der Einordnung der Implementierung, beweist aber nicht, dass jeder relevante Zugriff persistent gespeichert wird. WordPress erlaubt einem Drop-in, den Core-Cache zu ersetzen; zugleich k\u00f6nnen einzelne Gruppen nicht persistent sein. Halte deshalb auch das eingesetzte Drop-in beziehungsweise Plugin und seine Version fest. ","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Pr\u00fcfe in der Dokumentation der konkreten Version, welche Zugriffe ihre angezeigten Hits und Misses umfassen und \u00fcber welchen Zeitraum sie gez\u00e4hlt werden. Eine Plugin-Quote l\u00e4sst sich nur dann sinnvoll mit einer anderen Kennzahl vergleichen, wenn Messbereich und Z\u00e4hlweise bekannt sind. Besonders wichtig ist, ob die Anzeige nur einen Request oder ein l\u00e4ngeres Fenster beschreibt.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"F\u00fcr Redis kannst du, sofern Verbindung und Berechtigungen vorhanden sind, in einer Redis-CLI-Sitzung die Statistik- und Speicherinformationen lesend abfragen. Die folgenden Befehle enthalten bewusst keine Zugangsdaten:","ref":""},{"kind":"citation","text":"","ref":"S7"}]},{"type":"code","language":"redis","code":"INFO stats\nINFO memory","source_ids":["S7"]},{"type":"paragraph","runs":[{"kind":"text","text":"Dokumentiere den ","ref":""},{"kind":"strong","text":"Messbereich","ref":""},{"kind":"text","text":": Welche Instanz oder Knoten wurden abgefragt, und welche anderen Websites oder Anwendungen nutzen sie? Globale Redis-Z\u00e4hler lassen sich bei gemeinsamer Nutzung nicht ohne Weiteres einer einzelnen Website zuordnen. Pr\u00fcfe Ausgaben vor der Weitergabe auf sensible Betriebsinformationen; weder ein Flush noch ein Lasttest ist f\u00fcr diese Bestandsaufnahme erforderlich.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Fehlt dir der Zugriff auf die Redis-CLI, frage deinen Hosting-Anbieter nach den verf\u00fcgbaren Metriken und ihrem Geltungsbereich. Auch ein Dashboard ist nur dann eine brauchbare Grundlage, wenn klar ist, ob es dieselbe Instanz, einzelne Knoten oder bereits aggregierte Werte zeigt.","ref":""}]}]},{"id":"intervall-berechnen","heading":"Redis Hit Rate im Intervall berechnen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Redis-Statistiken sind Z\u00e4hlerst\u00e4nde, keine fertige Aussage \u00fcber einen bestimmten Messzeitraum. Lies f\u00fcr eine Intervallauswertung die Werte f\u00fcr ","ref":""},{"kind":"code","text":"keyspace_hits","ref":""},{"kind":"text","text":" und ","ref":""},{"kind":"code","text":"keyspace_misses","ref":""},{"kind":"text","text":" zu Beginn und am Ende desselben festgelegten Zeitfensters von derselben Instanz ab. Notiere beide Zeitpunkte und die zugeh\u00f6rige Instanz, damit die Ablesungen zusammenpassen. ","ref":""},{"kind":"citation","text":"","ref":"S7"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Ziehe anschlie\u00dfend f\u00fcr jeden Z\u00e4hler den Anfangswert vom Endwert ab. Die ","ref":""},{"kind":"strong","text":"Intervall-Hit-Rate","ref":""},{"kind":"text","text":" lautet: \u0394Hits \/ (\u0394Hits + \u0394Misses) \u00d7 100. Das Zeichen \u0394 steht f\u00fcr die jeweilige Differenz. Sind beide Differenzen null, gab es in diesem Fenster keine gez\u00e4hlten Lookups; die Quote ist dann nicht definiert, statt null Prozent zu betragen. ","ref":""},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Ein illustratives Rechenbeispiel, keine Messung: Steigen die Hits um 900 und die Misses um 100, ergeben sich 90 Prozent bei insgesamt 1.000 gez\u00e4hlten Lookups. Das hei\u00dft weder, dass Seiten um 90 Prozent schneller sind, noch dass genau 900 Datenbankabfragen eingespart wurden. Redis z\u00e4hlt Key-Lookups; deren Bedeutung f\u00fcr die Anwendung h\u00e4ngt vom jeweiligen Zugriff ab. ","ref":""},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Geht einer der Z\u00e4hler zwischen den Ablesungen zur\u00fcck, ist die einfache Differenz \u00fcber diesen Bruch nicht g\u00fcltig. Ein Neustart oder das Zur\u00fccksetzen von Statistiken kann dazu f\u00fchren. Beginne das Messfenster neu oder teile es anhand verl\u00e4sslicher Betriebsdaten am Bruch auf, statt einen negativen Wert in die Formel einzusetzen.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Bei mehreren Knoten berechnest du zun\u00e4chst f\u00fcr jeden passenden Knoten die Differenzen \u00fcber denselben Zeitraum. Addiere dann die Hits und Misses getrennt und bilde daraus die Gesamtquote. Ein ungewichteter Mittelwert der einzelnen Prozentwerte behandelt einen Knoten mit wenigen Lookups sonst genauso wie einen mit vielen; das kann das Gesamtbild erheblich verzerren.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Halte dabei fest, welche Knoten tats\u00e4chlich einbezogen sind und welche Rolle sie in der Umgebung haben. Eine so berechnete Gesamtrate beschreibt nur die ausgew\u00e4hlten Z\u00e4hler und deren Nutzer; sie wird nicht allein durch die Aggregation zu einer spezifischen WordPress-Object-Cache-Quote.","ref":""}]}]},{"id":"messprotokoll-kennzahlen","heading":"Messprotokoll und Redis-Kennzahlen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Neben Hits und Misses helfen weitere Redis-Z\u00e4hler bei der Einordnung. Auch hier sind Differenzen im gew\u00e4hlten Zeitraum aussagekr\u00e4ftiger als isolierte Gesamtst\u00e4nde. Die folgende Tabelle trennt die Bedeutung der Werte von Schlussfolgerungen, die sie allein nicht tragen. ","ref":""},{"kind":"citation","text":"","ref":"S4"},{"kind":"citation","text":"","ref":"S7"}]},{"type":"table","caption":"Redis-Kennzahlen und Grenzen ihrer Interpretation","headers":["Kennzahl","Bedeutung","Interpretationsgrenze"],"rows":[["keyspace_hits","Erfolgreiche Key-Lookups","Kein direkter Nachweis gesparter Datenbankabfragen oder schnellerer Seiten."],["keyspace_misses","Erfolglose Key-Lookups","Auch ein fehlgeschlagenes EXISTS kann z\u00e4hlen; ein Miss ist nicht automatisch ein Fehler."],["expired_keys","Abgelaufene Schl\u00fcssel","Ein Anstieg allein beweist keine falsch gew\u00e4hlte Lebensdauer."],["evicted_keys","Aufgrund der Speichergrenze verdr\u00e4ngte Schl\u00fcssel","Im Zusammenhang mit Speichergrenze und Eviction-Konfiguration pr\u00fcfen; daraus folgt nicht automatisch eine konkrete Ursache f\u00fcr langsame Requests."]],"source_ids":["S4","S7"]},{"type":"paragraph","runs":[{"kind":"text","text":"Ein Anstieg von ","ref":""},{"kind":"code","text":"expired_keys","ref":""},{"kind":"text","text":" kann Anlass sein, Lebensdauern und Zugriffsmuster n\u00e4her anzusehen. Er zeigt aber nicht, ob ein Eintrag kurz nach seinem Ablauf erneut ben\u00f6tigt wurde. Ebenso ist ","ref":""},{"kind":"code","text":"evicted_keys","ref":""},{"kind":"text","text":" im Kontext der konfigurierten Speichergrenze und Verdr\u00e4ngungsstrategie zu betrachten, statt daraus sofort eine Speichererh\u00f6hung abzuleiten. ","ref":""},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Ein brauchbares ","ref":""},{"kind":"strong","text":"Messprotokoll","ref":""},{"kind":"text","text":" nennt Anfang und Ende des Zeitfensters, Instanz beziehungsweise Knoten, die beiden Z\u00e4hlerdifferenzen, ihre Summe und die berechnete Quote. Erg\u00e4nze, ob die Instanz gemeinsam genutzt wird und ob w\u00e4hrend des Fensters ein Neustart oder eine R\u00fccksetzung bekannt ist. So bleiben Messungen sp\u00e4ter nachvollziehbar.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Erfasse parallel den betrachteten Request-Typ und eine daf\u00fcr geeignete Latenzkennzahl sowie Datenbanklast und Fehlerrate. Trenne beispielsweise \u00f6ffentliche Seitenaufrufe von eingeloggten Anfragen, wenn daf\u00fcr passende Daten vorliegen. Die Redis-Quote allein verr\u00e4t nicht, welcher dieser Request-Typen von einem Treffer profitiert hat.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"F\u00fcr einen sp\u00e4teren Vergleich sollten Zeitraum, Knoten und Request-Mischung m\u00f6glichst \u00e4hnlich sein. Notiere au\u00dferdem relevante \u00c4nderungen und erkennbare Warm-up-Phasen. Wo Daten fehlen oder eine gemeinsame Instanz keine Zuordnung erlaubt, geh\u00f6rt diese Einschr\u00e4nkung ins Protokoll statt in eine scheinbar pr\u00e4zise Schlussfolgerung.","ref":""}]}]},{"id":"szenarien-einordnen","heading":"Kaltstart, Shop und statische Website","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Nach einem Neustart oder Deployment k\u00f6nnen ben\u00f6tigte Eintr\u00e4ge zun\u00e4chst fehlen. Solche Misses sind beim Bef\u00fcllen des Cache zu erwarten; bei wiederkehrenden Zugriffen kann die Trefferquote anschlie\u00dfend steigen. Werte aus der ","ref":""},{"kind":"strong","text":"Kalt- und Warmphase","ref":""},{"kind":"text","text":" solltest du getrennt betrachten, damit ein langer Durchschnitt weder die Anlaufkosten noch das sp\u00e4tere Verhalten verdeckt.","ref":""},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Bei einem Shop oder einem eingeloggten Bereich sind dynamische Anfragen besonders interessant: Ein Page Cache beantwortet nicht unbedingt jeden Warenkorb- oder Kontoaufruf. Vergleiche deshalb m\u00f6glichst \u00e4hnliche Request-Typen und achte neben der Quote auf ihre Antwortzeiten und die Datenbanklast. Eine hohe Redis Hit Rate zeigt f\u00fcr sich genommen nicht, ob der Warenkorb schnell und inhaltlich korrekt angezeigt wird.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Bei einer \u00fcberwiegend statischen Website kann dagegen ein gro\u00dfer Teil der Seitenaufrufe bereits aus dem Page Cache kommen. Ein persistenter Object Cache wirkt dort vor allem auf die Anfragen, die WordPress tats\u00e4chlich verarbeitet. Beurteile deshalb getrennt, ob diese verbleibenden Anfragen profitieren und ob sich der Effekt auf die gesamte Website auswirkt.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Nutzt du Redis gemeinsam mit anderen Websites oder Anwendungen, umfassen die Instanzz\u00e4hler deren Zugriffe ebenfalls. Ohne geeignete getrennte Telemetrie l\u00e4sst sich die globale Quote keiner einzelnen Website zuverl\u00e4ssig zuordnen. Dokumentiere auch, welche Knoten erfasst sind: Eine Ver\u00e4nderung der Quote kann sonst ebenso an einer anderen Nutzung oder an einem ver\u00e4nderten Messbereich liegen.","ref":""},{"kind":"citation","text":"","ref":"S7"}]}]},{"id":"fehlersuche-betrieb","heading":"Auff\u00e4llige Werte und Fehler untersuchen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Eine niedrige Quote ist zun\u00e4chst eine Beobachtung, keine Diagnose. Viele Erstzugriffe, kurze Lebensdauern oder eine Zugriffsverteilung mit selten wiederverwendeten Schl\u00fcsseln kommen als Erkl\u00e4rungen infrage. Pr\u00fcfe, ob sich die Request-Mischung oder das Messfenster ver\u00e4ndert hat, bevor du Speicher oder Cache-Einstellungen anpasst.","ref":""},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Die Z\u00e4hler ","ref":""},{"kind":"code","text":"expired_keys","ref":""},{"kind":"text","text":" und ","ref":""},{"kind":"code","text":"evicted_keys","ref":""},{"kind":"text","text":" liefern weitere Hinweise: Der erste z\u00e4hlt abgelaufene Schl\u00fcssel, der zweite aufgrund der Speicherbegrenzung verdr\u00e4ngte Schl\u00fcssel. Ihre Differenzen geh\u00f6ren zur Redis-Instanz und m\u00fcssen zur Konfiguration und Nutzung passen. Viele abgelaufene Schl\u00fcssel beweisen weder eine falsch gew\u00e4hlte TTL noch, dass eine l\u00e4ngere Lebensdauer sinnvoll ist; sie kann die Aktualit\u00e4t gespeicherter Daten verschlechtern.","ref":""},{"kind":"citation","text":"","ref":"S4"},{"kind":"citation","text":"","ref":"S7"}]},{"type":"paragraph","runs":[{"kind":"text","text":"F\u00fcr eigene Erweiterungen ist bei ","ref":""},{"kind":"code","text":"wp_cache_get","ref":""},{"kind":"text","text":" der Parameter ","ref":""},{"kind":"code","text":"$found","ref":""},{"kind":"text","text":" wichtig: Er unterscheidet einen gefundenen, gespeicherten Wert ","ref":""},{"kind":"code","text":"false","ref":""},{"kind":"text","text":" von einem nicht gefundenen Eintrag. Vor gruppenbezogenen Aktionen solltest du mit ","ref":""},{"kind":"code","text":"wp_cache_supports","ref":""},{"kind":"text","text":" pr\u00fcfen, ob das konkrete Backend die gew\u00fcnschte Funktion unterst\u00fctzt. Ein ersetzendes Drop-in kann sich von der Core-Implementierung unterscheiden.","ref":""},{"kind":"citation","text":"","ref":"S5"},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"strong","text":"Warnung:","ref":""},{"kind":"text","text":" Ein unbedachter Cache-Flush kann mehr Eintr\u00e4ge oder Anwendungen betreffen als beabsichtigt und die n\u00e4chste Messung durch einen Kaltstart verzerren. Kl\u00e4re den Wirkungsbereich und eine Freigabe, bevor du l\u00f6schende Aktionen ausf\u00fchrst. Erg\u00e4nzende Ansatzpunkte zur ","ref":""},{"kind":"internal_link","text":"Fehlersuche bei einem langsamen WordPress Object Cache","ref":"I3"},{"kind":"text","text":" helfen, auch m\u00f6glichen Cache-Overhead in die Untersuchung einzubeziehen.","ref":""}]}]},{"id":"zielwerte-entscheidung","heading":"Sinnvolle Zielwerte selbst bestimmen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Eine universelle Mindestquote von 90 Prozent ist keine belastbare technische Anforderung. Sinnvoller ist ein ","ref":""},{"kind":"strong","text":"standortspezifischer Zielbereich","ref":""},{"kind":"text","text":", der zur erwarteten Zugriffsverteilung und zum Nutzen f\u00fcr die Anwendung passt. Redis empfiehlt, die beobachtete Quote im Kontext des jeweiligen Zugriffsmusters zu beurteilen; ein Prozentwert allein erkl\u00e4rt noch keine WordPress Performance.","ref":""},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Erfasse zun\u00e4chst eine repr\u00e4sentative Ausgangsmessung mit Zeitraum, Messbereich, Zugriffszahl und Quote. Halte dazu Antwortzeiten wichtiger Request-Typen, Datenbanklast und Fehlerrate fest. Kennzeichne Kaltstarts gesondert und ber\u00fccksichtige typische Unterschiede zwischen Zeiten mit wenig und viel Betrieb, statt ein zuf\u00e4llig g\u00fcnstiges Fenster als Normalzustand zu behandeln.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Plane anschlie\u00dfend eine konkrete \u00c4nderung und pr\u00fcfe sie nach Freigabe m\u00f6glichst zuerst in einer geeigneten Testumgebung. Stelle danach vergleichbare Zeitr\u00e4ume und Request-Mischungen gegen\u00fcber: \u00c4ndern sich Quote und Anzahl der Lookups, aber auch die Latenz oder die Datenbanklast? So l\u00e4sst sich der Effekt besser von einer blo\u00dfen Verschiebung der Zugriffe unterscheiden.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Auch eine hohe Quote kann wenige, besonders teure Misses verdecken. Umgekehrt muss eine moderate Quote kein Problem sein, wenn relevante Anfragen schnell und korrekt beantwortet werden. Zus\u00e4tzlicher Betriebsaufwand f\u00fcr Redis oder ein anderes persistentes Backend ist durch eine bessere Quote allein nicht automatisch gerechtfertigt; ber\u00fccksichtige Hosting-Unterst\u00fctzung, Kosten und m\u00f6gliche Ausfallszenarien.","ref":""},{"kind":"citation","text":"","ref":"S1"},{"kind":"citation","text":"","ref":"S4"}]}]}]},"_wh_make_word_report":{"words":2197,"min":2000,"max":3000,"target":2500,"ok":true,"missing":0,"excess":0,"lead_words":74,"section_words":{"object-cache-grundlagen":242,"cache-ebenen":232,"hit-rate-grundlagen":231,"messung-vorbereiten":249,"intervall-berechnen":289,"messprotokoll-kennzahlen":276,"szenarien-einordnen":214,"fehlersuche-betrieb":196,"zielwerte-entscheidung":194}},"_wh_make_review":{"verdict":"pass","issues":[],"checked_source_ids":["S1","S2","S3","S4","S5","S6","S7","S8"],"summary":"Keine freigabeverhindernden fachlichen Befunde. Requestgebundener Core-Cache, persistente Drop-ins und nicht persistente Gruppen sind korrekt unterschieden. ([developer.wordpress.org](https:\/\/developer.wordpress.org\/reference\/classes\/wp_object_cache\/)) Die Redis-Formel, die Einordnung fehlgeschlagener EXISTS-Aufrufe und die anwendungsbezogene Bewertung statt einer universellen Mindestquote sind belegt. ([redis.io](https:\/\/redis.io\/docs\/latest\/develop\/reference\/eviction\/)) Die Kennzahlentabelle stimmt mit den INFO-Definitionen \u00fcberein. ([redis.io](https:\/\/redis.io\/docs\/latest\/commands\/info\/)) Die Erkl\u00e4rung des found-Parameters ist korrekt. ([developer.wordpress.org](https:\/\/developer.wordpress.org\/reference\/classes\/WP_Object_Cache\/get\/)) wp cache type ist zutreffend als Versuch zur Bestimmung der Implementierung beschrieben. ([developer.wordpress.org](https:\/\/developer.wordpress.org\/cli\/commands\/cache\/)) Das Rechenbeispiel ergibt korrekt 90 Prozent bei 1.000 Lookups und wird ausdr\u00fccklich nicht als Messung ausgegeben. Tabellen, Code, Versionshinweis und Begleittexte enthalten keine behaupteten eigenen Tests. Die Bildkonzepte sind als KI-generierte Illustrationen beziehungsweise Symbolbild gekennzeichnet und zeigen keine irref\u00fchrende technische Topologie; ein Chart ist nicht vorhanden. Die Quellenzuordnung wurde anhand der tats\u00e4chlichen URLs im source_registry gepr\u00fcft, nicht anhand der abweichenden Nummerierung im Recherchebriefing."},"_wh_make_review_doc_hash":"09a5a2ed1132ee77ffe623358404b162a3225e79153b6ac785b327b3cd90f02f","_yoast_wpseo_primary_category":null,"rank_math_schema_blogposting":null,"rank_math_schema_videoobject":null,"_oembed_049c719bc4a9f89deaead66a7da9fddc":null,"_oembed_time_049c719bc4a9f89deaead66a7da9fddc":null,"_yoast_wpseo_focuskw":null,"inline_featured_image":null,"_yoast_wpseo_linkdex":null,"_eael_widget_elements":null,"_oembed_c3b0f6959478faf92a1f343d8f96b19e":null,"_oembed_27e3473bf8bec795fbeb3a9d38489348":null,"_trp_translated_slug_en_us":null,"_yoast_wpseo_title":null,"tldname":null,"tldpreis":null,"tldrubrik":null,"tldpolicylink":null,"tldsize":null,"tldregistrierungsdauer":null,"tldtransfer":null,"tldwhoisprivacy":null,"tldregistrarchange":null,"tldregistrantchange":null,"tldwhoisupdate":null,"tldnameserverupdate":null,"tlddeletesofort":null,"tlddeleteexpire":null,"tldumlaute":null,"tldrestore":null,"tldsubcategory":null,"tldbildname":null,"tldbildurl":null,"tldclean":null,"tldcategory":null,"tldpolicy":null,"tldbesonderheiten":null,"tld_bedeutung":null,"_oembed_d167040d816d8f94c072940c8009f5f8":null,"_oembed_b0a0fa59ef14f8870da2c63f2027d064":null,"_oembed_4792fa4dfb2a8f09ab950a73b7f313ba":null,"_oembed_33ceb1fe54a8ab775d9410abf699878d":null,"_oembed_fd7014d14d919b45ec004937c0db9335":null,"_oembed_21a029d076783ec3e8042698c351bd7e":null,"_oembed_be5ea8a0c7b18e658f08cc571a909452":null,"_oembed_a9ca7a298b19f9b48ec5914e010294d2":null,"_oembed_f8db6b27d08a2bb1f920e7647808899a":null,"_oembed_168ebde5096e77d8a89326519af9e022":null,"_oembed_cdb76f1b345b42743edfe25481b6f98f":null,"_oembed_87b0613611ae54e86e8864265404b0a1":null,"_oembed_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_oembed_time_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_tldname":null,"_tldclean":null,"_tldpreis":null,"_tldcategory":null,"_tldsubcategory":null,"_tldpolicy":null,"_tldpolicylink":null,"_tldsize":null,"_tldregistrierungsdauer":null,"_tldtransfer":null,"_tldwhoisprivacy":null,"_tldregistrarchange":null,"_tldregistrantchange":null,"_tldwhoisupdate":null,"_tldnameserverupdate":null,"_tlddeletesofort":null,"_tlddeleteexpire":null,"_tldumlaute":null,"_tldrestore":null,"_tldbildname":null,"_tldbildurl":null,"_tld_bedeutung":null,"_tldbesonderheiten":null,"_oembed_8357e2b8a2575c74ed5978f262a10126":null,"_oembed_ad96e4112edb9f8ffa35731d4098bc6b":null,"_oembed_3d5fea5103dd0d22ec5d6a33eff7f863":null,"_oembed_819a879e7da16dd629cfd15a97334c8a":null,"_oembed_time_819a879e7da16dd629cfd15a97334c8a":null,"_wh_make_writer_raw":null,"_wh_make_design_backup_204":null,"_wp_desired_post_slug":null,"_oembed_0d8a206f09633e3d62b95a15a4dd0487":null,"_oembed_time_0d8a206f09633e3d62b95a15a4dd0487":null,"_aioseo_description":null,"_eb_attr":null,"_eb_data_table":null,"_acf_changed":null,"_wpcode_auto_insert":null,"_edit_last":null,"_edit_lock":null,"_oembed_e7b913c6c84084ed9702cb4feb012ddd":null,"_oembed_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_time_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_03514b67990db061d7c4672de26dc514":null,"_oembed_time_03514b67990db061d7c4672de26dc514":null,"rank_math_news_sitemap_robots":null,"rank_math_robots":null,"_eael_post_view_count":"88","_trp_automatically_translated_slug_ru_ru":null,"_trp_automatically_translated_slug_et":null,"_trp_automatically_translated_slug_lv":null,"_trp_automatically_translated_slug_fr_fr":null,"_trp_automatically_translated_slug_en_us":null,"_wp_old_slug":null,"_trp_automatically_translated_slug_da_dk":null,"_trp_automatically_translated_slug_pl_pl":null,"_trp_automatically_translated_slug_es_es":null,"_trp_automatically_translated_slug_hu_hu":null,"_trp_automatically_translated_slug_fi":null,"_trp_automatically_translated_slug_ja":null,"_trp_automatically_translated_slug_lt_lt":null,"_elementor_edit_mode":null,"_elementor_template_type":null,"_elementor_version":null,"_elementor_pro_version":null,"_wp_page_template":null,"_elementor_page_settings":null,"_elementor_data":null,"_elementor_css":null,"_elementor_conditions":null,"_happyaddons_elements_cache":null,"_oembed_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_time_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_time_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_59808117857ddf57e478a31d79f76e4d":null,"_oembed_time_59808117857ddf57e478a31d79f76e4d":null,"_oembed_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_time_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_81002f7ee3604f645db4ebcfd1912acf":null,"_oembed_time_81002f7ee3604f645db4ebcfd1912acf":null,"_elementor_screenshot":null,"_oembed_7ea3429961cf98fa85da9747683af827":null,"_oembed_time_7ea3429961cf98fa85da9747683af827":null,"_elementor_controls_usage":null,"_elementor_page_assets":[],"_elementor_screenshot_failed":null,"theplus_transient_widgets":null,"_eael_custom_js":null,"_wp_old_date":null,"_trp_automatically_translated_slug_it_it":null,"_trp_automatically_translated_slug_pt_pt":null,"_trp_automatically_translated_slug_zh_cn":null,"_trp_automatically_translated_slug_nl_nl":null,"_trp_automatically_translated_slug_pt_br":null,"_trp_automatically_translated_slug_sv_se":null,"rank_math_analytic_object_id":null,"_trp_automatically_translated_slug_ro_ro":null,"_trp_automatically_translated_slug_sk_sk":null,"_trp_automatically_translated_slug_bg_bg":null,"_trp_automatically_translated_slug_sl_si":null,"litespeed_vpi_list":null,"litespeed_vpi_list_mobile":null,"rank_math_seo_score":null,"rank_math_contentai_score":null,"ilj_limitincominglinks":null,"ilj_maxincominglinks":null,"ilj_limitoutgoinglinks":null,"ilj_maxoutgoinglinks":null,"ilj_limitlinksperparagraph":null,"ilj_linksperparagraph":null,"ilj_blacklistdefinition":null,"ilj_linkdefinition":null,"_eb_reusable_block_ids":null,"rank_math_focus_keyword":"WordPress Object Cache Hit Rate","rank_math_og_content_image":null,"surfer_last_post_update":null,"surfer_last_post_update_direction":null,"surfer_keywords":null,"surfer_location":null,"surfer_draft_id":null,"surfer_permalink_hash":null,"surfer_scrape_ready":null,"_thumbnail_id":"22172","_yoast_wpseo_metadesc":null,"_yoast_wpseo_content_score":null,"_yoast_wpseo_focuskeywords":null,"_yoast_wpseo_keywordsynonyms":null,"_yoast_wpseo_estimated-reading-time-minutes":null,"rank_math_description":"Miss die WordPress Object Cache und Redis Hit Rate richtig und finde einen Zielbereich, der zu deiner Website und ihren Anfragen passt.","footnotes":null,"_links":{"self":[{"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/posts\/22170","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/comments?post=22170"}],"version-history":[{"count":2,"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/posts\/22170\/revisions"}],"predecessor-version":[{"id":22175,"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/posts\/22170\/revisions\/22175"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/media\/22172"}],"wp:attachment":[{"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/media?parent=22170"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/categories?post=22170"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/tags?post=22170"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}