Skip to main content
.com domains from $2.99 — free WHOIS privacy on every name

Performance Reference

Five caches sit between your database and your visitor

You published the change twenty minutes ago and something in the chain is still handing out the old version.

The short answer

A cache stores the finished result of expensive work so the next request can be answered without repeating it — and on a web stack there are five of them, not one.

Ordered from the database outwards: an object cache such as Redis holding query results, OPcache holding compiled PHP, the server page cache holding finished HTML, a CDN holding copies at the edge, and the visitor's own browser holding assets. Every performance question about caching, and every stale-content complaint, is really a question about which of those five you are talking to.

By the HostingFast team · Reviewed 12 August 2026

0

Hand-waving in this entry

100+

Entries wired to each other

Real

Numbers you can reproduce

Free

To read, no gate

Each layer trades freshness for speed, so each needs its own way of being invalidated. That is the entire mechanism behind the most common support question there is. Your edit is saved; some layer between the database and the screen is still loyal to the version before it.

The layers also differ enormously in payoff. A page cache hit skips PHP, the database and everything else, turning hundreds of milliseconds of computation into the cost of reading a file. An object cache only helps the requests that had to run PHP anyway. Knowing which one you just enabled tells you what to expect before you measure it.

Name the five layers before you touch any of them

Object cache: query results and computed values in memory, used by pages that cannot be cached whole. OPcache: compiled PHP bytecode, so the interpreter stops recompiling your source on every request. Page cache: finished HTML held by the web server. CDN: copies of that HTML and your assets sitting near the visitor. Browser cache: assets held on the visitor's own machine under whatever expiry you set.

They are not alternatives. A well-configured WordPress site runs all five at once, each covering the requests the layer above it could not.

The response header settles the argument

Request the page with headers shown and read what comes back. On LiteSpeed a cached response carries x-litespeed-cache: hit. Miss means the request went all the way through to PHP. If no cache header appears at all, WordPress is being booted for every single visitor and you have found something far more valuable than a stale page.

Do it as a logged-out visitor. Your own browser session is excluded from the page cache by design, which is why the site can feel slow to the person who owns it and fast to everyone else.

Purge from the inside out

Order matters and most people get it backwards. Clear the object cache, then the page cache, then the CDN, then hard-reload your browser. Purging the CDN first simply lets it re-fetch the stale page the server is still holding, and you get to do the whole thing again.

If your edit still will not appear after all four, the remaining suspects are a plugin-level cache you forgot about, a full-page cache in front of the CDN, or the page genuinely not having been saved. Check the last one before rebuilding your caching setup.

The ratio worth watching

Hit ratio, not hit count. On a content site with mostly logged-out traffic, the overwhelming majority of page requests should be served from cache; a ratio well short of that means something is defeating it — a query string on every link, a session cookie set for anonymous visitors, or a plugin excluding more paths than you realised.

Neighbouring entries: LiteSpeed, Redis, CDN and OPcache. LiteSpeed caching is built into the server on every plan here rather than bolted on by plugin, which is why the header exists to check in the first place.

A performance-test needle sweeping hard to the right

Performance entries with the measurement attached

Every performance term in this reference comes with the tool, the number that counts as good, and the way to prove a change actually moved it. Advice you cannot verify is just an opinion with a diagram.

LiteSpeed caching sits in the web server on every tier here, entry plan included, rather than being sold as a performance upgrade.

  • A tool named for every metric
  • Targets that are numbers, not adjectives
  • Before-and-after built into each entry
  • Written by our support engineers

Why HostingFast

Standard on every plan

Five layers, named

Object, OPcache, page, CDN, browser. Almost every caching question is really about which one you mean.

One header settles it

x-litespeed-cache: hit or miss, read as a logged-out visitor, ends the guessing in seconds.

Purge order that works

Inside out. Clearing the CDN first just lets it re-fetch the stale copy the server is still holding.

Payoff ranked

A page cache hit skips everything. An object cache only helps requests that had to run PHP anyway.

Ratio over count

What proportion of requests hit, and the three usual reasons that number is lower than it should be.

Built into the server

The cache lives in LiteSpeed on every plan here, which is why there is a header to check at all.

Quick Start

From order to online

  1. 1

    Read the header first

    Load the page with response headers visible, logged out. Hit, miss or nothing at all tells you which problem you actually have.

  2. 2

    Purge inside out

    Object cache, then page cache, then CDN, then a hard reload. Any other order means doing it twice.

  3. 3

    Find what is defeating the cache

    Query strings on internal links, cookies set for anonymous visitors and over-broad exclusion rules are the three usual culprits.

Built In

Loaded onto every plan

  • Built-in WebP image optimisation at no extra cost
  • WordPress Toolkit, with updates handled for you
  • WordPress and 400+ other applications installed in one click
  • 99.9% uptime as the target, monitored around the clock
  • Human support on duty every hour of every day
  • In-place account upgrades — no migration when you change plan
  • Spam and virus screening on every mailbox as standard
  • Email addresses that run on your own domain name
  • A renewal price identical to the price you signed up at
  • Zero setup charges — there is no joining fee, ever

Frequently Asked

What people ask us most often

Which header proves a page came from cache?

On a LiteSpeed platform, x-litespeed-cache in the response: hit means the server answered without waking PHP, miss means it did not. Check it while logged out, because your own admin session is deliberately excluded from the page cache. If there is no cache header at all, nothing is caching your HTML and that is the first thing to fix.

What hit ratio should a content site be seeing?

The great majority of logged-out page requests should hit. If yours does not, look for links carrying query strings that fragment the cache key, a plugin setting a cookie for anonymous visitors, or an exclusion rule written far more broadly than intended. The number matters less than the direction: measure it, change one thing, measure again.

How do I exclude one page without turning caching off?

Every serious caching layer takes per-URL exclusions, and baskets, checkouts and account pages should already be on that list. Exclude the specific path rather than a wildcard that quietly catches half the site. On WordPress, ESI is often the better answer: keep the page cached and let one fragment stay dynamic.

Is the caching layer included or is it an upgrade?

It is in the web server on every plan here, from the entry tier upward, and on WordPress the LiteSpeed Cache plugin is how you drive it. There is no faster tier to buy for caching, because the caching is not the differentiator between the plans — storage, site count and bandwidth are.

Keep reading

Changing hosts? Run through our checklist first.

A straightforward sequence for a switch your visitors never feel: which files move first, how to shift email across without losing a single message, the right moment to repoint DNS, and the two mistakes behind almost all the downtime we get asked to rescue.

You'll get the checklist email, then occasional pointers on keeping a site running fast. Unsubscribe the moment you want out — the privacy policy covers the rest.

Serve it from memory, not from PHP.

LiteSpeed caching in the server, NVMe underneath, free migration, and renewals billed at your original rate.

View Email Hosting plans