{"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":"hitpercentage-van-de-wordpress-objectcache","status":"publish","type":"post","link":"https:\/\/webhosting.de\/nl\/wordpress-object-cache-hit-rate\/","title":{"rendered":"WordPress Object Cache Hit Rate: betekenis en zinvolle streefwaarden"},"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\">De hitrate van de WordPress Object Cache geeft aan welk percentage van de geregistreerde cacheverzoeken een overeenkomst vindt. <strong style=\"font-weight:700;color:inherit\">Er bestaat geen algemeen geldende streefwaarde.<\/strong> Een Redis-hitratio meet bovendien niet automatisch hetzelfde als de weergave van een WordPress-plug-in. Het percentage wordt pas zinvol als het meetbereik, de periode en het aantal bezoeken bekend zijn. Vergelijk deze met de responstijden van belangrijke verzoeken, de databasebelasting en het foutenpercentage: zo kun je zien of een wijziging aan je website daadwerkelijk nut heeft, in plaats van alleen maar een percentage te verbeteren.  <\/p>\n<nav class=\"wh-toc\" aria-label=\"Inhoud van dit 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\">Direct naar de paragraaf<\/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\">Wat de WordPress-objectcache opslaat<\/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\">Het verschil tussen objectcache en paginacache<\/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\">Wat hits en misses ons vertellen<\/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\">Controleer zorgvuldig het meetbereik en de toegankelijkheid<\/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\">De Redis-hitrate per interval berekenen<\/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\">Meetrapport en Redis-statistieken<\/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\">Koude start, webshop en statische website<\/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\">Opvallende waarden en fouten onderzoeken<\/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\">Zelf zinvolle streefwaarden vaststellen<\/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\">Wat de WordPress-objectcache opslaat<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">De <strong style=\"font-weight:700;color:inherit\">WordPress-objectcache<\/strong> slaat gegevens op onder een sleutel en binnen een groep. Als WordPress dezelfde waarde opnieuw opvraagt, kan het deze uit de cache halen in plaats van de onderliggende bewerking opnieuw uit te voeren. Hieronder vallen bijvoorbeeld gegevens die anders uit de database zouden moeten worden gelezen of opnieuw zouden moeten worden berekend. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">De ingebouwde Core-implementatie is standaard <strong style=\"font-weight:700;color:inherit\">aanvraaggebonden<\/strong>: De cache bewaart de gegevens gedurende \u00e9\u00e9n enkel verzoek. Een latere paginabezoek krijgt daardoor niet automatisch toegang tot de eerder opgeslagen waarden. Toch kan de cache al binnen \u00e9\u00e9n verzoek herhaalde verzoeken voorkomen. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Een drop-in kan de Core-implementatie vervangen door een <strong style=\"font-weight:700;color:inherit\">persistente objectcache<\/strong> vervangen. Dan kunnen relevante gegevens ook na afloop van afzonderlijke verzoeken behouden blijven. Redis is een mogelijke backend-optie, maar geen vereiste voor WordPress; ook andere backend-oplossingen zijn mogelijk. Zelfs met een persistente drop-in kunnen bepaalde groepen nog steeds alleen voor het huidige verzoek gelden. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Transi\u00ebnten zijn een andere manier om gegevens op te slaan die slechts tijdelijk nodig zijn. Met een persistente objectcache kunnen ze daar worden opgeslagen, in plaats van \u2013 zoals gebruikelijk \u2013 in de database. Hun geldigheidsduur duidt niet op een gegarandeerde minimale beschikbaarheid: een waarde kan eerder verdwijnen. Applicatiecode moet er daarom rekening mee houden dat een transient ontbreekt en moet de waarde indien nodig opnieuw kunnen genereren.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Voor de latere beoordeling van een trefpercentage is dit onderscheid van cruciaal belang: toegang tot de lokale cache tijdens een verzoek en toegang tot een externe backend zijn niet noodzakelijkerwijs dezelfde maatstaf. Controleer daarom eerst welke implementatie daadwerkelijk wordt gebruikt en welke gegevens deze persistent verwerkt.<\/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\">Het verschil tussen objectcache en paginacache<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Wanneer een pagina wordt opgeroepen, kan een <strong style=\"font-weight:700;color:inherit\">Pagina cache<\/strong> een reeds gegenereerde paginarespons terugsturen. Als het verzoek daar wordt beantwoord, hoeft het niet hetzelfde WordPress-toepassingspad te doorlopen als een niet-gecachet verzoek. De objectcache werkt daarentegen binnen de toepassing met afzonderlijke gecachete gegevens, niet met de volledige paginarespons. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Stel je een openbaar toegankelijke artikelpagina voor: als het antwoord in de paginacache staat, kan het direct worden weergegeven. Moet WordPress de pagina daarentegen genereren, dan kan de objectcache helpen bij herhaalde gegevensopvragingen. Welk werk hierdoor daadwerkelijk wordt bespaard, hangt af van het verzoek, de opgeslagen gegevens en de betreffende implementatie. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Dit heeft gevolgen voor de interpretatie: een goede objectcache-ratio geeft alleen een beeld van de geregistreerde cachetoegangen. Het zegt niet direct hoeveel bezoekers al een kant-en-klaar antwoord uit de paginacache ontvangen of hoe snel de gehele website reageert. Bij intensieve paginacaching kan het nut van de objectcache vooral zichtbaar worden bij de resterende WordPress-verzoeken.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Ook de browser- en opcode-cache vervullen andere taken. De browsercache houdt bronnen bij de bezoeker beschikbaar; een PHP-opcode-cache slaat gecompileerde PHP-code op. Beide vervangen noch de opslag van afzonderlijke applicatiegegevens in de objectcache, noch de levering van een volledig antwoord vanuit een paginacache.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">De constante <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> Dit alleen is niet voldoende om een Redis-objectcache te activeren. Voor een persistente objectcache heb je een geschikte implementatie nodig en de bijbehorende configuratie. Een aanvullend voorbeeld van de interactie tussen verschillende niveaus vind je in het artikel over de <a href=\"https:\/\/webhosting.de\/nl\/cloudlinux-acceleratewp-cache-engine-prestatieverbetering-voor-wordpress\/\">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\">Wat hits en misses ons vertellen<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">A <strong style=\"font-weight:700;color:inherit\">Raak<\/strong> is het geval wanneer een gezochte vermelding op het betreffende cache-niveau wordt gevonden. Een <strong style=\"font-weight:700;color:inherit\">Juffrouw<\/strong> betekent dat hij daar niet wordt gevonden. Het trefpercentage berekent de verhouding tussen het aantal treffers en het totale aantal getelde treffers en missers: treffers \/ (treffers + missers) \u00d7 100. Als er geen treffers of missers zijn, is het percentage voor deze periode niet gedefinieerd. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Een fout is niet automatisch een technische fout. Bij de eerste toegang kan een vermelding nog ontbreken; ook na het verstrijken van de geldigheidsduur moet deze eventueel opnieuw worden opgevraagd of aangemaakt. Het is van doorslaggevend belang welke gevolgen dergelijke mislukte pogingen hebben voor het concrete proces en of het \u00fcberhaupt zinvol is om de toegang te herhalen.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">De Core-methode van WordPress telt in haar eigen implementatie cache-hits en mislukte pogingen. Een drop-in kan deze implementatie echter vervangen. Daarom kan uit de telwijze van de core niet met zekerheid worden afgeleid wat een plug-in registreert: controleer voor de gebruikte versie welke bezoeken en welke periode de statistieken omvatten.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Redis meldt met <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> en <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> succesvolle of mislukte key-lookups in de Redis-keyspace. Ook een mislukte <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>-Een oproep kan als een fout worden geteld. Deze <strong style=\"font-weight:700;color:inherit\">Redis-hitpercentage<\/strong> is daarom niet automatisch gelijk te stellen aan een WordPress- of plug-in-quotum. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Als een Redis-instantie door meerdere websites of applicaties wordt gebruikt, kunnen de tellers van die instantie de bezoekersaantallen van al die websites of applicaties gezamenlijk weergeven. Een globale quota kan dan zonder geschikte, afzonderlijke telemetrie niet op betrouwbare wijze aan \u00e9\u00e9n enkele WordPress-website worden toegewezen. Bij elke vergelijking moet je daarom vastleggen welk niveau en welke instantie de cijfers eigenlijk beschrijven.<\/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\">Controleer zorgvuldig het meetbereik en de toegankelijkheid<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Controleer v\u00f3\u00f3r de meting welke objectcache-implementatie WordPress gebruikt. Als WP-CLI beschikbaar is en je toegang hebt tot de WordPress-map, kun je daar een leesbare inventarisatie starten met de volgende opdracht: <\/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\">Code kopi\u00ebren<\/button><span class=\"wh-copy-status\" aria-live=\"polite\"><\/span><span data-wh-copy-success hidden>Gekopieerd<\/span><span data-wh-copy-fallback hidden>Code gemarkeerd \u2013 gelieve te kopi\u00ebren<\/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\">Het resultaat helpt bij het beoordelen van de implementatie, maar bewijst niet dat elke relevante toegang permanent wordt opgeslagen. WordPress staat toe dat een drop-in de core-cache vervangt; tegelijkertijd hoeven afzonderlijke groepen niet permanent te zijn. Noteer daarom ook de gebruikte drop-in of plug-in en de versie ervan.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Controleer in de documentatie van de betreffende versie welke toegangen onder de weergegeven hits en misses vallen en over welke periode deze worden geteld. Een plug-in-quotum kan alleen zinvol met een andere kengetallen worden vergeleken als het meetbereik en de telwijze bekend zijn. Het is met name belangrijk of de weergave slechts \u00e9\u00e9n verzoek of een langere periode beschrijft.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Voor Redis kun je, mits je over een verbinding en de juiste rechten beschikt, in een Redis-CLI-sessie de statistieken en opslaginformatie opvragen (alleen voor leesdoeleinden). De volgende commando\u2019s bevatten bewust geen inloggegevens: <\/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>Code<\/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\">Code kopi\u00ebren<\/button><span class=\"wh-copy-status\" aria-live=\"polite\"><\/span><span data-wh-copy-success hidden>Gekopieerd<\/span><span data-wh-copy-fallback hidden>Code gemarkeerd \u2013 gelieve te kopi\u00ebren<\/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\">Leg de <strong style=\"font-weight:700;color:inherit\">Meetbereik<\/strong>: Welke instantie of knooppunten zijn opgevraagd, en welke andere websites of applicaties maken er gebruik van? Globale Redis-tellers kunnen bij gezamenlijk gebruik niet zonder meer aan \u00e9\u00e9n enkele website worden toegewezen. Controleer de uitvoer op gevoelige bedrijfsinformatie voordat je deze doorgeeft; voor deze inventarisatie is noch een flush, noch een belastingstest nodig.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Als je geen toegang hebt tot de Redis-CLI, vraag dan je hostingprovider naar de beschikbare statistieken en hun toepassingsgebied. Ook een dashboard vormt alleen een bruikbare basis als duidelijk is of het dezelfde instantie, afzonderlijke knooppunten of reeds geaggregeerde waarden weergeeft.<\/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\">De Redis-hitrate per interval berekenen<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Redis-statistieken zijn tellerstanden, geen definitieve conclusie over een bepaalde meetperiode. Lees voor een intervalanalyse de waarden voor <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> en <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> aan het begin en aan het einde van hetzelfde vastgestelde tijdsbestek van dezelfde instantie. Noteer beide tijdstippen en de bijbehorende instantie, zodat de metingen met elkaar overeenkomen.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Trek vervolgens voor elke teller de beginwaarde af van de eindwaarde. De <strong style=\"font-weight:700;color:inherit\">Interval-hit-percentage<\/strong> luidt: \u0394Hits \/ (\u0394Hits + \u0394Misses) \u00d7 100. Het teken \u0394 staat voor het betreffende verschil. Als beide verschillen nul zijn, zijn er in dit venster geen lookups geteld; het percentage is dan niet gedefinieerd, in plaats van nul procent te bedragen.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Een illustratief rekenvoorbeeld, geen meting: als het aantal hits met 900 stijgt en het aantal misses met 100, komt dat neer op 90 procent bij in totaal 1.000 getelde lookups. Dit betekent noch dat pagina\u2019s 90 procent sneller zijn, noch dat er precies 900 database-opvragingen zijn bespaard. Redis telt key-lookups; het belang daarvan voor de toepassing hangt af van de betreffende toegang.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Als een van de tellers tussen de metingen daalt, is het eenvoudige verschil over deze breuk niet geldig. Dit kan het gevolg zijn van een herstart of het resetten van statistieken. Begin het meetvenster opnieuw of verdeel het op basis van betrouwbare bedrijfsgegevens op het breekpunt, in plaats van een negatieve waarde in de formule te gebruiken.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Als er meerdere knooppunten zijn, bereken je eerst voor elk relevant knooppunt de verschillen over dezelfde periode. Tel vervolgens de hits en misses apart bij elkaar op en bereken daaruit het totale percentage. Een ongewogen gemiddelde van de afzonderlijke percentages behandelt een knooppunt met weinig lookups anderszins op dezelfde manier als een knooppunt met veel lookups; dit kan het totaalbeeld aanzienlijk vertekenen.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Noteer daarbij welke knooppunten daadwerkelijk zijn meegenomen en welke rol ze in de omgeving spelen. Een op deze manier berekend totaalcijfer geeft alleen een beeld van de geselecteerde tellers en hun gebruikers; het wordt niet louter bepaald door de aggregatie tot een specifiek WordPress Object Cache-quotum.<\/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\">Meetrapport en Redis-statistieken<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Naast hits en misses helpen ook andere Redis-tellers bij de interpretatie. Ook hier zijn verschillen binnen de gekozen periode veelzeggender dan op zichzelf staande totaalcijfers. De volgende tabel maakt een onderscheid tussen de betekenis van de waarden en conclusies die niet uitsluitend op deze waarden zijn gebaseerd.   <\/p>\n<div class=\"wh-table-scroll\" tabindex=\"0\" role=\"region\" aria-label=\"Redis-statistieken en de beperkingen van de interpretatie daarvan\" 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-statistieken en de beperkingen van de interpretatie daarvan<\/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\">Sleutelfiguur<\/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\">Dat betekent<\/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\">Interpretatielimiet<\/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\">Succesvolle key-lookups<\/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\">Er is geen direct bewijs dat er minder databasequery\u2019s worden uitgevoerd of dat de pagina\u2019s sneller laden.<\/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\">Mislukte zoekopdrachten op sleutel<\/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\">Zelfs een mislukte EXISTS-opdracht kan meetellen; een misser is niet automatisch een fout.<\/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\">verlopen_sleutels<\/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\">Afgebroken sleutels<\/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\">Een stijging op zich is nog geen bewijs dat de levensduur verkeerd is gekozen.<\/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\">uitgezette_sleutels<\/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\">Sleutels die vanwege de opslaglimiet zijn verdrongen<\/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\">Controleer dit in verband met de opslaglimiet en de eviction-configuratie; hieruit volgt niet automatisch een concrete oorzaak voor trage verzoeken.<\/td><\/tr><\/tbody><\/table><\/div><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Een stijging van <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 aanleiding zijn om de levensduur en het gebruikspatroon nader te bekijken. Het laat echter niet zien of een item kort na het verstrijken van de geldigheidsduur opnieuw nodig was. Evenzo is <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> te beschouwen in de context van de geconfigureerde opslaglimiet en verdringingsstrategie, in plaats van daaruit meteen een uitbreiding van de opslagcapaciteit af te leiden.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Een bruikbaar <strong style=\"font-weight:700;color:inherit\">Meetrapport<\/strong> Vermeld het begin en einde van het tijdvenster, de instantie of het knooppunt, de twee tellerverschillen, hun som en de berekende verhouding. Geef aan of de instantie gezamenlijk wordt gebruikt en of er tijdens het venster een herstart of een reset heeft plaatsgevonden. Zo blijven de metingen later traceerbaar.<\/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=\"Door AI gegenereerde illustratie van een notitieboekje met pen en een analoge wekker op een versleten bureau.\" 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\">Door AI gegenereerde illustratie: een vastgelegd tijdvenster maakt deel uit van een begrijpelijk meetrapport.<\/figcaption><\/figure><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Registreer tegelijkertijd het betreffende verzoektype en een daarvoor geschikte latentie-indicator, evenals de databasebelasting en het foutenpercentage. Maak bijvoorbeeld onderscheid tussen openbare paginaweergaven en verzoeken van ingelogde gebruikers, indien daarvoor geschikte gegevens beschikbaar zijn. Het Redis-quotum alleen geeft niet aan welk van deze verzoektypes van een treffer heeft geprofiteerd.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Met het oog op een latere vergelijking moeten de periode, de knooppunten en de samenstelling van de verzoeken zo veel mogelijk op elkaar lijken. Noteer bovendien relevante wijzigingen en waarneembare opwarmfasen. Wanneer er gegevens ontbreken of wanneer een gedeelde instantie geen toewijzing toelaat, moet deze beperking in het verslag worden vermeld in plaats van in een schijnbaar nauwkeurige conclusie.<\/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\">Koude start, webshop en statische website<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Na een herstart of implementatie kunnen de benodigde vermeldingen aanvankelijk ontbreken. Dergelijke missers zijn te verwachten tijdens het vullen van de cache; bij herhaalde toegangen kan het percentage treffers vervolgens stijgen. Waarden uit de <strong style=\"font-weight:700;color:inherit\">Koude en warme fase<\/strong> moet je dit apart bekijken, zodat een lang gemiddelde noch de opstartkosten, noch het latere verloop verhult. <\/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=\"Door AI gegenereerde illustratie van een weinig en een meer gevuld vak voor de koude en warme fase van de cache.\" 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\">Door AI gegenereerde illustratie: door de koude- en warme fase afzonderlijk te bekijken, wordt voorkomen dat een gemiddelde de opstarttijd verhult.<\/figcaption><\/figure><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Bij een webshop of een gedeelte waarvoor je moet inloggen, zijn dynamische verzoeken bijzonder interessant: een paginacache beantwoordt niet per se elk verzoek om het winkelmandje of het account weer te geven. Vergelijk daarom zoveel mogelijk vergelijkbare verzoektypes en let naast het percentage ook op hun responstijden en de databasebelasting. Een hoge Redis-hitrate geeft op zichzelf niet aan of het winkelmandje snel en inhoudelijk correct wordt weergegeven.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Bij een overwegend statische website kan daarentegen een groot deel van de paginaweergaven al uit de paginacache komen. Een persistente objectcache heeft daar vooral invloed op de verzoeken die WordPress daadwerkelijk verwerkt. Beoordeel daarom afzonderlijk of deze resterende verzoeken hiervan profiteren en of het effect zich op de gehele website uit.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Als je Redis samen met andere websites of applicaties gebruikt, worden de bezoeken daarvan ook meegeteld in de instantieteller. Zonder geschikte, afzonderlijke telemetrie kan de globale quota niet op betrouwbare wijze aan \u00e9\u00e9n enkele website worden toegewezen. Documenteer ook welke knooppunten worden meegeteld: een verandering in de quota kan anders net zo goed het gevolg zijn van ander gebruik of een gewijzigd meetbereik. <\/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\">Opvallende waarden en fouten onderzoeken<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Een laag percentage is in eerste instantie een observatie, geen diagnose. Veel eerste verzoeken, korte levensduur of een verdeling van verzoeken waarbij sleutels zelden worden hergebruikt, kunnen mogelijke verklaringen zijn. Controleer of de samenstelling van de verzoeken of het meetvenster is veranderd voordat je de geheugen- of cache-instellingen aanpast. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">De tellers <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> en <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> geven aanvullende aanwijzingen: de eerste telt verlopen sleutels, de tweede telt sleutels die vanwege de opslaglimiet zijn verdrongen. Hun verschillen zijn specifiek voor de Redis-instantie en moeten aansluiten bij de configuratie en het gebruik. Een groot aantal verlopen sleutels wijst niet op een verkeerd gekozen TTL, noch op het feit dat een langere levensduur zinvol is; dit kan de actualiteit van opgeslagen gegevens juist verslechteren.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Voor eigen uitbreidingen geldt bij <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> de parameter <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> belangrijk: hij maakt onderscheid tussen een gevonden en een opgeslagen waarde <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> van een niet-gevonden vermelding. Voordat je groepsgerichte acties uitvoert, moet je met <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> controleer of de betreffende backend de gewenste functie ondersteunt. Een vervangende drop-in kan afwijken van de core-implementatie.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><strong style=\"font-weight:700;color:inherit\">Waarschuwing:<\/strong> Een ondoordachte cache-flush kan meer records of toepassingen be\u00efnvloeden dan de bedoeling was en de volgende meting door een koude start vertekenen. Controleer het toepassingsgebied en zorg voor goedkeuring voordat je verwijderingsacties uitvoert. Aanvullende aandachtspunten voor de <a href=\"https:\/\/webhosting.de\/nl\/object-cache-wordpress-vertraagt-serverboost\/\">Problemen oplossen bij een trage WordPress-objectcache<\/a> helpen om ook eventuele cache-overhead in het onderzoek mee te nemen.<\/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\">Zelf zinvolle streefwaarden vaststellen<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Een universeel minimumquotum van 90 procent is geen haalbare technische eis. Het is zinvoller om een <strong style=\"font-weight:700;color:inherit\">locatiespecifiek streefbereik<\/strong>, die aansluit bij de verwachte verdeling van de bezoeken en het nut voor de toepassing. Redis raadt aan om het waargenomen percentage te beoordelen in de context van het betreffende bezoekpatroon; een percentage op zich zegt nog niets over de prestaties van WordPress. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Voer eerst een representatieve basismeting uit, met vermelding van de periode, het meetbereik, het aantal bezoeken en het quotum. Leg daarbij de responstijden van belangrijke verzoektypes, de databasebelasting en het foutenpercentage vast. Geef koude starts apart aan en houd rekening met typische verschillen tussen periodes met weinig en veel verkeer, in plaats van een toevallig gunstig tijdvak als normale toestand te beschouwen.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Plan vervolgens een concrete wijziging en test deze na goedkeuring indien mogelijk eerst in een geschikte testomgeving. Vergelijk daarna vergelijkbare tijdsperioden en combinaties van verzoeken: veranderen de quota en het aantal lookups, maar ook de latentie of de databasebelasting? Zo kun je het effect beter onderscheiden van een loutere verschuiving in het aantal verzoeken.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Zelfs een hoog percentage kan enkele, bijzonder dure fouten verhullen. Omgekeerd hoeft een gematigd percentage geen probleem te zijn, mits relevante verzoeken snel en correct worden beantwoord. Extra operationele kosten voor Redis of een andere persistente backend worden niet automatisch gerechtvaardigd door alleen een betere score; houd rekening met hostingondersteuning, kosten en mogelijke uitvalscenario's.  <\/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\">Bronnen en stand van zaken op vakgebied<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Stand van het onderzoek: <time datetime=\"2026-11-04\">2026-11-04<\/time><\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">De bronnen van het verstrekte onderzoek dateren van 4 november 2026; controleer de teltwijze van de plug-in en de Redis-configuratie voor de betreffende versie.<\/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>Een hoog objectcache-hitpercentage is geen garantie voor een snelle WordPress-website. Bepalend zijn het meetbereik, de periode en het aantal bezoeken, evenals de gevolgen voor de responstijd en de belasting van de database.<\/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: een turbo-boost voor je WordPress-cache","excerpt":"AccelerateWP Cache versnelt WordPress op shared-hostingservers door full-page-, browser-, server- en objectcaching te combineren met slimme optimalisatie van assets. Ik laat je zien hoe de CloudLinux AccelerateWP Cache Engine je pagina\u2019s merkbaar sneller maakt en tegelijkertijd de administratieve rompslomp vermindert. Belangrijkste punten: Full-page- en browsercache leveren inhoud onmiddellijk. Servercache en preloading verlagen de TTFB en de belasting. Redis-objectcache versnelt dynamische webwinkels en portalen. MAx Cache levert pagina\u2019s rechtstreeks via Apache\/Nginx. Asset-optimalisatie met Critical CSS, WebP\/AVIF en prefetch. Wat de AccelerateWP Cache Engine uniek maakt: ik gebruik de CloudLinux Suite omdat deze caching, asset-optimalisatie en beheer in \u00e9\u00e9n oplossing bundelt en op serverniveau kan worden geactiveerd. De engine biedt een full-page-cache voor volledige HTML-uitvoer, aangevuld met een browsercache voor terugkerende bezoekers en een servercache die PHP en de database ontlast. Daarnaast is er automatisering voor CSS\/JS-minimalisatie, beeldconversie naar WebP\/AVIF en Critical CSS voor snel zichtbare inhoud. Cache-preloading slaat pagina\u2019s vooraf op in de cache, zodat nieuwe bezoekers direct de snelheid merken en er geen wachttijd ontstaat. Voor mij telt de holistische aanpak: een centraal knooppunt dat WordPress op shared hosting zonder handmatige inspanning aanzienlijk versnelt en tegelijkertijd fijnafstemming per site mogelijk maakt. Meerlaagse cache: volledige pagina, browser en server Bij de volledige-pagina-cache sla ik de voltooide HTML-pagina op als statisch bestand, zodat WordPress en PHP niet bij elke oproep hoeven te werken. De browsercache slaat afbeeldingen, CSS en JS op bij de bezoeker, waardoor volgende bezoeken merkbaar sneller laden en mobiele gebruikers hiervan profiteren. Aan de serverzijde beantwoordt een hot-cache herhaalde verzoeken zonder dure databasequery\u2019s, wat de responstijd en schaalbaarheid verbetert. Daarnaast schakel ik preloading in, zodat de cache vooraf wordt gevuld en koude starts worden voorkomen. Wie zich hier verder in wil verdiepen, vindt een handige stap-voor-stapbeschrijving in het artikel WordPress-Server-Boost, dat ik graag als uitgangspunt gebruik. Objectcache"},"I2":{"id":"I2","post_id":19673,"url":"https:\/\/webhosting.de\/database-buffer-cache-hit-rate-optimierung-leitfaden-datenstrom\/","title":"Inzicht in en optimalisatie van database buffer cache hit rates","excerpt":"Ik leg uit hoe ik de buffer cache hit rate correct bereken, interpreteer en doelgericht verbeter, zodat query\u2019s sneller reageren met minder fysieke I\/O. Daarbij laat ik concrete stappen zien om de waargenomen prestaties meetbaar te verbeteren \u2013 inclusief statistieken zoals ESTD_PCT_OF_DB_TIME_FOR_READS en praktijkgerichte drempelwaarden. Belangrijkste punten: inordening in plaats van fixatie op 99 %: Koppel de hitrate altijd aan het aandeel leestijd Geheugen als hefboom: de cache stapsgewijs vergroten, swapping vermijden Workload-perspectief: OLTP anders beoordelen dan DWH\/rapportage Monitoring structureren: query\u2019s, I\/O-latenties en DB-tijd in het oog houden MySQL en Oracle: Bufferpool\/cache doelgericht plannen Wat betekent de buffer-cache-hitrate eigenlijk? De buffer-cache bewaart veelgebruikte gegevensblokken in het RAM, waardoor query\u2019s bij een hit zonder trage schijftoegang kunnen worden gelezen. Elke aanvraag controleert eerst de cache; pas bij een miss is fysieke I\/O nodig. De hitrate wordt berekend als (logische leesbewerkingen \u2013 fysieke leesbewerkingen) \/ logische leesbewerkingen en beschrijft de verdeling tussen geheugen- en schijftoegang. De ervaring leert dat een hoge waarde het aantal I\/O\u2019s vermindert, maar dit verklaart niet automatisch korte responstijden. Ik beoordeel deze indicator daarom altijd in de context van andere statistieken, zodat beslissingen goed onderbouwd zijn. Per platform specificeer ik de berekening: in Oracle is de gangbare formule 1 \u2013 physical reads \/ (consistent gets + db block gets). Zo houd ik zowel rekening met consistente leesbewerkingen (MVCC) als met actuele bloktoegangen. In MySQL met InnoDB gebruik ik 1 \u2013 Innodb_buffer_pool_reads \/ Innodb_buffer_pool_read_requests. Verschillen in tellers en caching-strategie\u00ebn probeer ik altijd eerst te begrijpen voordat ik systemen vergelijk \u2013 anders trek ik al snel verkeerde conclusies. De beperkingen van de kengetallen en wat echt telt Een zeer hoge hitrate kan trage query\u2019s niet redden als er indexen ontbreken, joins ineffici\u00ebnt zijn of vergrendelingen het systeem vertragen. Omgekeerd volstaat een gematigde hitrate als geheugen- en I\/O-subsystemen sneller werken of de workload gebruikmaakt van lange sequenti\u00eble scans. Ik koppel de hitrate daarom aan het aandeel van de totale DB-tijd voor fysieke"},"I3":{"id":"I3","post_id":16774,"url":"https:\/\/webhosting.de\/object-cache-wordpress-langsamer-macht-serverboost\/","title":"Waarom Object Cache WordPress soms vertraagt","excerpt":"Veel beheerders schakelen de objectcache in en vragen zich vervolgens af waarom pagina\u2019s daarna trager reageren, zoekopdrachten vastlopen of er 502-fouten optreden. Ik laat zien welke technische oorzaken hierachter schuilgaan, wanneer caching de boel in de war brengt en hoe ik de cache zo instel dat deze de site daadwerkelijk sneller maakt in plaats van te vertragen. Belangrijkste punten: Overbelasting door automatisch geladen opties en transients leidt tot afwijzingen en time-outs. Conflicten tussen Redis, Memcached en plug-ins vertragen functies. Een verkeerde interpretatie van Site Health leidt tot onnodige installaties. Invalidatie en fragmentatie zorgen ervoor dat verouderde gegevens te lang in het RAM-geheugen blijven staan. De rol van de paginacache: de objectcache is geen vervanging hiervoor. Wat maakt de objectcache soms trager? Een objectcache bewaart databaseresultaten in het RAM-geheugen, maar versnelt alleen als het trefpercentage hoog blijft en het geheugen goed wordt beheerd. Als autoloaded opties en transients de cache tot het uiterste vullen, weigert de engine nieuwe vermeldingen en valt WordPress terug op de database. Dit verhoogt de latentie, omdat de server eerst de cache raadpleegt, vervolgens faalt, daarna de query opnieuw uitvoert en uiteindelijk mogelijk weer tevergeefs probeert op te slaan. Bij platforms met strikte limieten, bijvoorbeeld 1 MB per object of buffers van ongeveer 800 KB, neemt de prestatie plotseling af. Daarom controleer ik eerst de grootte en het aantal vermeldingen, voordat ik aan PHP of de database ga sleutelen. Ook de overhead van elke cache-opvraging speelt een rol, zelfs als het item ontbreekt, wat de responstijd bij veel kleine, eenmalige query\u2019s kan verlengen. Op sites met weinig herhaalde databasequery\u2019s levert caching nauwelijks voordelen op, omdat het beheer van de sleutels meer kost dan het oplevert. Hoe meer dynamische pagina\u2019s en gebruikersspecifieke elementen er in het spel zijn, hoe voorzichtiger ik de cache configureer. Zonder duidelijke ongeldigmakingsregels blijven verouderde waarden achter en veroorzaken ze verwarring in de backend en op de live-pagina. Een strak proces van schrijven, laten verlopen en leegmaken zorgt ervoor dat alles snel blijft werken. Typische configuratiefouten en conflicten Conflicten ontstaan vaak wanneer meerdere plug-ins een object-cache.php aanbieden en elkaar overschrijven. Aangezien"}},"_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 Object Cache Hit Rate: betekenis en zinvolle streefwaarden","slug":"hitpercentage-van-de-wordpress-objectcache","excerpt":"Een hoog objectcache-hitpercentage is geen garantie voor een snelle WordPress-website. Bepalend zijn het meetbereik, de periode en het aantal bezoeken, evenals de gevolgen voor de responstijd en de belasting van de database.","status":"draft","featured_media":22172},"verify":{"content_md5":"038d560f6167904965544a3462adf644","title":"WordPress Object Cache Hit Rate: betekenis en zinvolle streefwaarden","slug":"hitpercentage-van-de-wordpress-objectcache","excerpt":"Een hoog objectcache-hitpercentage is geen garantie voor een snelle WordPress-website. Bepalend zijn het meetbereik, de periode en het aantal bezoeken, evenals de gevolgen voor de responstijd en de belasting van de database.","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":"wp-config.php bewerken \u2013 Handboek voor gevorderde beheerders | Developer.WordPress.org"},"S3":{"id":"S3","url":"https:\/\/developer.wordpress.org\/news\/2024\/06\/an-introduction-to-the-transients-api\/?utm_source=openai","title":"Een inleiding tot de Transients API \u2013 WordPress Developer Blog"},"S4":{"id":"S4","url":"https:\/\/redis.io\/docs\/latest\/reference\/eviction\/?utm_source=openai","title":"Key eviction | Documentatie"},"S5":{"id":"S5","url":"https:\/\/developer.wordpress.org\/reference\/classes\/WP_Object_Cache\/get\/?utm_source=openai","title":"WP_Object_Cache::get() \u2013 Methode | Developer.WordPress.org"},"S6":{"id":"S6","url":"https:\/\/developer.wordpress.org\/cli\/commands\/cache\/?utm_source=openai","title":"wp cache \u2013 WP-CLI-opdracht | Developer.WordPress.org"},"S7":{"id":"S7","url":"https:\/\/redis.io\/docs\/latest\/commands\/info\/?utm_source=openai","title":"INFO | Documenten"},"S8":{"id":"S8","url":"https:\/\/developer.wordpress.org\/apis\/transients\/?utm_source=openai","title":"Transients \u2013 Handboek voor algemene API's | 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 Object Cache Hit Rate: betekenis en zinvolle streefwaarden","slug":"hitpercentage-van-de-wordpress-objectcache","excerpt":"Een hoog objectcache-hitpercentage is geen garantie voor een snelle WordPress-website. Bepalend zijn het meetbereik, de periode en het aantal bezoeken, evenals de gevolgen voor de responstijd en de belasting van de database.","status":"draft","featured_media":0},"expected":{"content_md5":"038d560f6167904965544a3462adf644","title":"WordPress Object Cache Hit Rate: betekenis en zinvolle streefwaarden","slug":"hitpercentage-van-de-wordpress-objectcache","excerpt":"Een hoog objectcache-hitpercentage is geen garantie voor een snelle WordPress-website. Bepalend zijn het meetbereik, de periode en het aantal bezoeken, evenals de gevolgen voor de responstijd en de belasting van de database.","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 Object Cache Hit Rate: betekenis en zinvolle streefwaarden","slug":"hitpercentage-van-de-wordpress-objectcache","excerpt":"Een hoog objectcache-hitpercentage is geen garantie voor een snelle WordPress-website. Bepalend zijn het meetbereik, de periode en het aantal bezoeken, evenals de gevolgen voor de responstijd en de belasting van de database.","seo":{"title":"De hitrate van de WordPress-objectcache correct beoordelen","description":"Bepaal de WordPress Object Cache en de Redis-hitratio nauwkeurig en zoek een streefbereik dat past bij jouw website en de verzoeken die daarop binnenkomen.","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":"92","_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\/nl\/wp-json\/wp\/v2\/posts\/22170","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/comments?post=22170"}],"version-history":[{"count":2,"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/posts\/22170\/revisions"}],"predecessor-version":[{"id":22175,"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/posts\/22170\/revisions\/22175"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/media\/22172"}],"wp:attachment":[{"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/media?parent=22170"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/categories?post=22170"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/tags?post=22170"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}