Redis Object Cache Hosting

Redis object cache hosting for everything a page cache cannot help.

Page caching serves the pages nobody is signed in for. The object cache is what makes the rest of the site quick, and it is the layer nobody sizes.

Eviction chosen deliberatelyPersistent connectionsWorks without Redis
Sized memoryChosen evictionGraceful fallbackDaily backupsFree SSL24/7 support
Built for the object cache

The layer under the uncacheable.

Checkout, admin and member pages can never come from a page cache, and this is what stops them being slow.

Memory sized for the working set

Too small and the cache evicts entries faster than they are reused, which is worse than no cache because you pay the write cost and never get the read. Capacity is set from what the site actually keeps asking for.

Sized, not guessed

An eviction policy that was chosen

The default policy refuses writes when memory is full rather than discarding old entries, which turns a full cache into errors. It is set to evict least-recently-used instead.

allkeys-lru

Connections that are not reopened per request

Opening a connection on every page load adds a round trip before any work happens. Connections persist, so the cache is a lookup rather than a handshake.

A site that survives Redis being gone

If the cache is unreachable the site should get slower, not break. Lookups fall through to the database rather than raising an error page.

Keys that do not collide between sites

Several sites sharing one Redis instance need separate prefixes, or one site's flush clears another's cache and both get mysteriously slow.

Working set

A cache that is too small is a cost.

The failure nobody notices is thrash: entries written, evicted before reuse, and written again. The hit rate looks plausible and the site is doing extra work for nothing.

  • Memory sized from the actual working set
  • Eviction policy set to discard rather than refuse
  • Connections persisted across requests
  • Fallback to the database when unreachable
Hit rate
Steady state
96%
Eviction
Policy
allkeys-lru
Connections
Per request
reused
Working set
Under review
running
Signed-in pages

Where the object cache earns its place.

The measurement is a page that can never be cached — a dashboard, a cart, an admin screen — because that is the entire point of this layer.

Sized
to the working set
Persistent
connections
Graceful
fallback if unreachable
MagicWP120 ms
Typical shared host1180 ms
No object cache640 ms

Illustrative comparison of a signed-in page render with and without an object cache. Your numbers depend on plugin load and query volume.

Configuration

What we change for the object cache

Every row here is a default that is wrong for WordPress specifically.

SettingWhat we doWhy
Memory allocationSet from the measured working set rather than a round numberAn undersized cache evicts entries before they are reused, so the site pays the write cost of caching and never collects the read benefit.
Eviction policyConfigured to discard least-recently-used entriesThe stock policy rejects new writes once memory is full, which converts a full cache from a performance ceiling into application errors.
Connection handlingPersistent rather than opened per requestA fresh connection per page load adds a round trip before any cached value is read, which on a fast query is most of the cost.
Unavailability behaviourFalls through to the database rather than erroringA cache is an optimisation, so losing it should make the site slower and not replace it with a fatal error.
Key prefixingNamespaced per siteSites sharing an instance otherwise collide, and one site flushing its cache silently empties another's.
Plans

Simple, transparent pricing.

Every plan includes free migration, daily backups, SSL and 24/7 support.

MonthlyYearly 2 months free
Starter
For personal sites, blogs, and portfolios.
$20/mo
  • 1 WordPress site
  • 10 GB NVMe disk
  • Free SSL
  • Daily backups
  • One-click deployment
  • Support tickets
Start free trial
Pro★ Most popular
For growing businesses and busy stores.
$80/mo
  • 5 WordPress sites
  • 50 GB NVMe disk
  • Free SSL
  • Daily backups
  • One-click deployment
  • Priority support tickets
Start free trial
Enterprise
For agencies and high-traffic platforms.
$250/mo
  • 20 WordPress sites
  • 200 GB NVMe disk
  • Free SSL
  • Daily backups
  • One-click deployment
  • Dedicated support
Start free trial
FAQ

Questions, answered.

How much memory does the object cache need?
Enough for the working set, which is measured rather than guessed. Too little is worse than none — entries get evicted before they are reused, so you pay to write them and never read them back.
What happens if Redis goes down?
The site gets slower. Lookups fall through to the database rather than raising an error, because a cache is an optimisation and losing one should not be fatal.
Why is my hit rate high but the site still slow?
Often thrash. Entries are written, evicted, and written again, which looks like activity and produces no benefit — that is a sizing problem rather than a configuration one.
Can several sites share one Redis instance?
Yes, with separate key prefixes. Without them one site's flush empties another's cache, and both get slow for reasons neither can see.

Make the uncacheable pages fast.

Move the site across — migration is free, cache sizing reviewed.