Skip to main content
SparkCore
Vidensbase

Redis objektcache i WordPress: hvad den gør, og hvordan du sætter den op

En Redis-objektcache gemmer WordPress' databasedata mellem forespørgsler, så dashboardet, kurven og indloggede brugere venter mindre på databasen. For anonyme besøgende, der allerede får en side fra sidecachen, tilføjer den kun lidt. Denne guide forklarer, hvad en objektcache gør, hvornår WordPress selv anbefaler en, hvordan du sætter Redis op, hvad du kan bruge uden Redis, og hvordan Spark Speed, cache-pluginet vi laver, håndterer det.
Kort fortalt
  • En objektcache gør alt hurtigere, der skal gennem WordPress: dashboard, kurv, kassen, indloggede brugere
  • Ved siden af en sidecache, ikke i stedet for en
  • Pluginet alene er ikke nok: din host skal levere en Redis-server
  • Uden Redis er Memcached, SQLite eller filer alternativer

Hvad en objektcache gør

WordPress gemmer resultaterne af databaseforespørgsler i hukommelsen under en forespørgsel. Efter den forespørgsel er alt væk. WordPress-dokumentationen formulerer det sådan: data gemmes ikke varigt på tværs af sideindlæsninger, medmindre du installerer et plugin til vedvarende caching. Et sådant plugin placerer filen object-cache.php i wp-content, og herfra gemmer WordPress de data i Redis, Memcached eller et andet lager, så den næste forespørgsel ikke skal hente dem fra databasen igen.

Objektcache eller sidecache: hvad gør hvad hurtigere

En sidecache gemmer komplet HTML og leverer den til anonyme besøgende, ofte før WordPress overhovedet starter. En objektcache har ikke meget at tilføje dér. En objektcache hjælper ved alt, der skal gennem WordPress: dashboardet, indloggede brugere, WooCommerce-kurven, kassen og min konto, søgeresultater og genopbygning af sidecachen. De supplerer hinanden; den ene erstatter ikke den anden.

Har du brug for en? Hvad WordPress selv anbefaler

WordPress har et tjek for en vedvarende objektcache i Webstedets sundhed. I kildekoden til WordPress 7.0.2 anbefaler tjekket kun en på et multisite eller når en af disse grænser overskrides. Et lille præsentationswebsite med en god sidecache holder sig normalt under dem.
  • mere end 500 autoloadede indstillinger, eller mere end 100 kB af dem
  • mere end 1.000 indlæg, kommentarer, termer, brugere eller indstillinger
  • grænserne kan ændres med filteret site_status_persistent_object_cache_thresholds

Sæt Redis op med pluginet Redis Object Cache

Pluginet alene er ikke nok: der skal køre en Redis-server, som PHP kan nå. På shared hosting er den ofte der ikke, og så kan du ikke selv starte en. Spørg din host, om Redis er tilgængelig, og på hvilken adresse. I vores lab kørte der ingen Redis-server: pluginet meldte Connection refused og holdt knappen Enable Object Cache deaktiveret. Det er et sikkert valg fra pluginets side.
  1. Spørg din host, om Redis er tilgængelig, og på hvilken adresse eller socket
  2. Ligger Redis ikke på 127.0.0.1:6379, så sæt WP_REDIS_HOST and WP_REDIS_PORT (og om nødvendigt WP_REDIS_PASSWORD) i wp-config.php
  3. Deler du Redis med andre sites, så giv hvert site sin egen WP_REDIS_PREFIX eller database: ellers kan en tømning ramme hele Redis-databasen
  4. Installer Redis Object Cache, gå til Indstillinger, Redis og klik på Enable Object Cache
  5. Tjek med wp redis status: Status skal vise Connected
Indstillinger for Redis Object Cache, der viser, at Redis ikke kan nås, og en deaktiveret knap Enable Object Cache
Redis Object Cache 3.0.0 i vores lab uden Redis-server: Redis Unreachable, så den kan ikke aktiveres.

Alternativer: Memcached, APCu, SQLite og filer

Ingen Redis? Så findes der andre lagre. Memcached virker på lignende måde og følger med nogle hostingpakker. APCu gemmer data i PHP's egen hukommelse, men pr. PHP-proces, så WP-CLI og webserveren ikke altid ser hinandens ændringer. SQLite og filer kræver ingen separat server og virker derfor også på basal hosting.
PluginLagerAktive installationerVurderingSeneste opdateringMinimum PHP
Redis Object CacheKræver en Redis-server; PhpRedis, Predis eller Relay500.000+4,5 (179)18. sep. 20267.2
Docket CacheGemmer i PHP-filer, ingen Redis nødvendig20.000+4,9 (50)15. okt. 20267.2.5
SQLite Object CacheGemmer i en SQLite-fil, ingen Redis nødvendig10.000+5,0 (51)17. aug. 20265.6

Tal fra wordpress.org, hentet den 16. oktober 2026. Installationer er de afrundede tal, wordpress.org viser.

Sådan virker objektcachen i Spark Speed

Spark Speed, cache-pluginet vi laver, har sin egen objektcache som en kontakt på fanen Cache. Hvad du kan forvente, ud fra koden i version 0.73.2 og vores dokumentation:
  • Spark vælger det lager, serveren tilbyder, i denne rækkefølge: Redis, Memcached, SQLite og APCu. En konfigureret WP_REDIS_HOST vinder altid.
  • Uden WP_REDIS_HOST prøver Spark 127.0.0.1:6379 og derefter de kendte Redis-socketstier, der findes på serveren.
  • Findes et andet plugins object-cache.php allerede, overskriver Spark den ikke.
  • Er Redis sat til politikken noeviction, advarer Spark: Redis afviser så nye skrivninger, når hukommelsen er fuld, i stedet for at fjerne gamle nøgler.
  • Sidecache og objektcache har hver deres tøm-knap; tømmer du den ene, tømmes den anden ikke.
  • Leverer din host allerede en objektcache, så lad kontakten i Spark være slået fra.

Tuning af Redis

To indstillinger afgør, om Redis fortsat fungerer godt som cache. maxmemory giver Redis en hukommelsesgrænse. maxmemory-policy afgør, hvad der sker, når grænsen nås. Redis-dokumentationen kalder allkeys-lru en god standard til en cache: de senest mindst brugte nøgler fjernes. Med noeviction returnerer Redis en fejl ved skrivning, når den er fuld. På shared eller managed hosting sætter hosten dette; spørg, hvis du er i tvivl.

Tjek og tøm

Om WordPress bruger en vedvarende objektcache, kan du se i Webstedets sundhed og med WP-CLI. Efter en ændring direkte i databasen, for eksempel en import eller en SQL-forespørgsel, skal du tømme objektcachen, ellers viser WordPress stadig den gamle værdi.
  • wp cache flush tømmer objektcachen (virker med ethvert objektcache-plugin)
  • wp redis status viser status, klient og drop-in for Redis Object Cache
  • wp spark-speed flush-object-cache tømmer Spark Speeds objektcache
  • I selve Redis viser keyspace_hits og keyspace_misses fra INFO stats, hvor ofte cachen rammer
Slå kun én objektcache til ad gangen. To plugins, der begge vil styre object-cache.php, kommer i vejen for hinanden.
Spark Speed kombinerer sidecache og objektcache og vælger det lager, din server tilbyder.

Ofte stillede spørgsmål

Især de dele, der ikke kommer fra sidecachen: dashboardet, kurv og kasse, indloggede brugere og søgeresultater. Sider, der allerede kommer fra sidecachen, bliver kun lidt hurtigere.

Begge gemmer objektcache-data i hukommelsen på en separat server. For WordPress gør de det samme job; hvilken du vælger, afhænger mest af, hvad din host tilbyder.

Kun hvis din host tilbyder Redis. På shared hosting kan du som regel ikke selv starte en Redis-server. Uden Redis kan du bruge en objektcache på SQLite eller i filer.

Med wp cache flush via WP-CLI eller med knappen i dit objektcache-plugin. Gør det efter ændringer direkte i databasen.