View Categories

Introduction to Our Caching

3 min read

By default, we enable our server side page caching and object caching. These work and perform much differently than the more traditional caching plugins such as WP Rocket, Swift Performance, W3TC, etc.

Some of these plugin options perform very well, especially WPRocket and Swift Performance, however, they simply can’t perform as well as what our native server caching can offer.

Types of Caching #

We provide two types of caching: page caching and object caching.

Our page caching will cache your individual page assets. Once a page is loaded it creates a static version of it, which can be loaded much faster the next time someone visits that page.

Object caching caches database queries (including things like menu items, breadcrumbs, post author names, dynamically generated archives like blog roll pages etc), which means the database doesn’t need to perform the same queries repeatably each time the page is loaded.

Page Caching #

We have two different page caching options that we’re able to enable for your website.

FastCGI Caching
Our servers run Nginx, and FastCGI is built in. No plugin based solution can match the performance of Nginx server based static asset and page caching. Even if PHP fails, your website will continue to be served from the cached resources until they expire. FastCGI performs incredibly well under high loads and is ideal for websites that don’t change often.

Redis Nginx Page Caching
Not to be confused with the Redis Object cache, Redis Nginx page caching is another highly performant page caching solution that works a bit better with more dynamic websites.

By default, we enable Redis Ngnix page caching on all websites.

Redis Object Caching #

Redis is an open source, in-memory data structure store. For WordPress purposes, it is used to cache the database queries, and dramatically reduce the number of requests that reach your database, thereby decreasing the amount of work the server needs to do in order to serve up your website pages.

When a visitor views a page on your website that has not been cached, the database will serve up the information needed, and this will then be cached by Redis so these same queries don’t need to go through the database the next time around. When the next visitor comes along, Redis will serve the information instead of the database.

Reducing the amount of work the server has to do means your website(s) will load faster and be able to handle more traffic.

Should I Use a Caching Plugin? #

Generally speaking, when running a caching plugin such as WP Rocket or Swift Performance, the caching part of it won’t move the needle as long as we have our server level caches enabled. However, the site optimizations these plugins utilize like CSS minification, JS deferments, image optimizations, etc. can help move the needle.

If you choose to run these plugins, we recommend either disabling the caching component of these plugins, or request we disable our server level caching component. Running both tends to poison the cache: the plugin cache will be cleared, but the server cache will still have some data in it, and it’ll lead to errors on the site such as visual errors, etc.