How to Implement Persistent Object Caching for Improved Website Speed
In today’s digital world, slow-loading websites are crucial for visitors to stay engaged. Google recommends that websites load in two seconds or less to avoid losing interest. To ensure lightning-fastness and responsiveness, WordPress object caching can be used. This guide will cover the basics of object caching in WordPress, setting it up with popular caching tools like Redis and Memcached.
Understanding How Caching Works in WordPress
Before diving into object caching, let’s have a quick look at how caching functions in the WordPress ecosystem. When a visitor lands on your website, several steps occur:
WordPress Website Usage and Caching
• When a user visits a website, the browser communicates with the web server.
• WordPress installation fetches posts and stored data from the database.
• The data is compiled into an HTML page and delivered to user.
• If caching is enabled, the server stores the request copy in the cache.
• Similar requests are served from the cache instead of a database query.
• WordPress caching saves static site pages, boosting performance during high traffic periods.
Exploring WordPress Object Caching
Object Caching in WordPress
• Server-side method to create duplicates of each request in the cache
• Allows the server to serve requests first, bypassing database queries.
• If data doesn’t exist in cache, the server processes and compiles content.
• Processed content is sent back to the browser with a cached copy for future use.
• Reduces server load, especially during peak traffic times.
WP_Object_Cache: WordPress’s Built-In Object Cache
WordPress comes with a built-in object cache known as WP_Object_Cache. It’s a WordPress class designed to automatically store data from the database in PHP memory. By default, the WordPress object cache is non-persistent, which means it stores data only for a single page load. The objects in the cache get discarded once the request is completed.
For scenarios where you want data to persist across multiple page loads, you might consider using a persistent caching tool. With such a tool, objects can be cached across various page loads, further enhancing performance.
External persistent object caching solutions like Redis and Memcached allow you to maintain the object cache between requests. This not only accelerates database query delivery but also eases the workload on your server.
The Best Persistent Object Caching Tools for WordPress
Top Persistent Object Caching Plugins for WordPress Websites
When it comes to persistent object caching in WordPress, a few tools stand out. Let’s take a closer look at the top three:
Redis is an open-source object caching solution for WordPress sites. It excels at reducing the load on your MySQL database. If your site is scaling up or experiencing increased traffic, Redis can be a valuable tool.
Key features of Redis include:
- Data storage in memory, providing high performance.
- Built-in replication.
- Ability to place data closer to the user’s location for minimal latency.
- Support for various data structures, including strings, hashes, lists, sets, and more.
Redis also offers features like built-in replication, scripting, and on-disk persistence. Additional tools like Redis Sentinel and Redis Cluster provide high availability and automatic partitioning.
Once Redis is installed on your server, you can integrate it with your site using a Redis-compatible plugin like Redis Object Cache.
Memcached is another open-source, distributed memory caching system. It’s a versatile tool used to cache databases, API calls, and page rendering. This enhances application speed by reducing the load on the database.
Key characteristics of Memcached include:
- Assigning each item a key, an expiration time, and raw data.
- Checking the cache for data when a user requests content
- Returning a failure code to the application when the data is not in the cache.
- Utilizing cached data in various WordPress functions like
You’ll find several Memcached-compatible plugins available for your site, with W3 Total Cache being a popular choice.
3. APC (Alternative PHP Cache)
APC, or Alternative PHP Cache, is a free open-source caching plugin for PHP. It focuses on caching PHP script executions, leading to more efficient dynamic PHP executions.
Key features of APC include:
- Improving script execution efficiency by reducing dynamic PHP executions
- Cutting down on parsing PHP code and generating HTML code upon each page request.
APC is a server-level PHP module that can be installed on a VPS or dedicated server, but it cannot run on shared hosting servers. Users who are comfortable with PECL modules can install APC on their site.
Enabling Persistent Object Caching in Your WordPress Site
Now that you’re familiar with the top object caching tools, let’s explore how to enable persistent object caching on your WordPress site using Redis as an example. We’ll also discuss how managed hosting providers, like Cloudways, handle object caching.
Enabling Redis Object Caching
Follow these steps to install and enable Redis on your macOS using Homebrew:
- Ensure you have Homebrew installed. You can check it by running the following command in your terminal:
$ brew --version
If this command fails, follow the Homebrew installation instructions.
- Use the terminal to install Redis:
brew install redis
3. Starting and Stopping Redis:
- To test your Redis installation, run:
If successful, you’ll see startup logs for Redis, and it will be running in the foreground. To stop Redis, enter
4. Connecting to Redis:
- After starting Redis, you can connect to it using
redis-cliin the terminal. Try running some Redis commands to test it.
5. Installing and activating the Redis Object Caching Plugin:
- After successfully connecting to Redis, you can add the Redis Object Cache plugin to your WordPress site.
- Install and activate the plugin, then navigate to Settings > Redis in your WordPress dashboard. Click the “Enable Object Cache” button to activate object caching on your site.
That’s it! You’ve successfully enabled object caching for your WordPress site using Redis.
How Cloudways Utilizes Object Caching
Cloudways is a hosting provider that places significant emphasis on caching mechanisms, resulting in fast performance for its users. One of their contributions to WordPress caching is the Breeze plugin, which takes care of various caching types, including object caching. Breeze handles object caching both at the server level and the application level, ensuring top-tier performance for your site.
Server Level Caching:
- Cloudways employs Redis and Memcached as external caching solutions at the server level. Redis, in particular, is highly beneficial for database query caching and session storage.
- Memcached is another popular in-memory object caching system used by Cloudways. It accelerates database queries and improves overall site performance.
Cloudways offers users a seamless experience with these powerful caching mechanisms, ensuring your WordPress site loads quickly and efficiently.
Bonus: Dokan Multivendor Compatibility
If you’re running an online marketplace with the Dokan multivendor plugin, you’ll be pleased to know that it’s now compatible with WordPress object caching. Starting from Dokan version 3.5.0, users can enable object caching and enjoy a smooth experience on their marketplace site.
To leverage this compatibility, install a WordPress object caching solution like Redis or Memcached on your server. Connect it to your site using a compatible plugin, such as W3 Total Cache or Redis Object Cache, and enhance your marketplace’s performance.
Frequently Asked Questions (FAQs)
Q: What is caching? Caching involves creating static versions of your content and serving them to visitors. Static pages load quickly, resulting in improved website performance.
Q: How long do transients last? A: The duration of transients depends on how long you want them to exist. You can set an expiration time, and they’ll last until that time.
Q: How does enabling object caching improve your site’s performance? Object caching reduces the server load by storing static versions of your website in a cache. This allows WordPress to skip running resource-intensive PHP scripts every time your site loads, resulting in faster performance.
Q: Why should you delete your site’s expired transients regularly? A: WordPress does not automatically remove expired transients. Over time, these expired but undeleted transients can slow down your site. Regularly removing them can improve WordPress site performance.
Q: Does WordPress have built-in caching? Yes, WordPress has a built-in object cache called WP_Object_Cache, which automatically stores data from the database in PHP memory.
This guide delves into object caching in WordPress, covering its basics, practical implementation, and how managed hosting providers like Cloudways improve site performance through server-level caching. It encourages users to enable object caching to enhance their WordPress site’s performance. If you encounter issues or have questions, feel free to share them in the comments. The goal is to enhance your website’s performance and user experience.