No. Object Caches such as APC, Memcached or Redis are not mandatory to enable in WordPress by using a WordPress plugin or drop-in. We are talking in the context of dedicated servers. A persistent Object Cache is worthless to use on a single virtualized instance such as one VPS or one cloud server. The reason is that 100% of the RAM is not real RAM, there is swap space i.e. SSD space.
When you install and enable APC on the server, it already caches some of the PHP files. You do not need to further “augment” it by using a WordPress plugin unless your traffic load is quite higher.
What Persistent Object Cache Does?
An object cache copies the objects that are used often and deliver to the visitors. An object cache stores database queries which can speed up PHP execution times and reduce the load on MySQL database server, and can deliver content slightly faster.
---
This is useful for high-traffic sites, such as YouTube and only when correctly configured to preserve the dynamic functions of the programming language such as visitor tracking. This is useful even for ordinary WordPress sites but often single webmasters are unable to detect and address the smaller issues such as wrong reporting of traffic data.
Persistent object caching is one step more. It is not just the object cache. You’ll get the information here:
1 | https://developer.wordpress.org/reference/classes/wp_object_cache/ |
Is Not MySQL Cache Serves the Same Purpose?
The cache of MySQL/MariaDB is efficient for low-traffic to medium-traffic sites. The method to optimize the backend for high-traffic sites is different because in such cases we need to have multiple MySQL database servers. For multiple reasons, MySQL cache is not efficient or practical for high-traffic sites. MySQL/MariaDB cache is safe for low-traffic to medium-traffic sites.
Can I Use MySQL Cache and Persistent Object Cache Together?
That can result in inconsistent performance since they are not synced or logically arranged to work together. Larger sites may employ various methods of caching together simply because they have their IT team to optimize their server and sites. With general-purpose commodity WordPress plugins, enabling 3-4 types of caching methods can deliver undesired results.
Stick with 1-2 methods of caching and use a good CDN.
Should We Enable Persistent Object Cache in WordPress?
If you turn on WP-CACHE
on the WP-Config file, you’ll find the advanced-cache.php
in the wp-content
directory. This is how the WordPress internal cache system is set up. For WordPress plugins such as WP Super Cache, an advanced-cache.php
is automatically created. If your server already has APC, OPcache and MySQL cache enabled, for a low-traffic site, you do not need to install ANOTHER plugin for persistent cache support. That can confuse the total system. For a high-traffic site, instead of reading this guide, you should rely on the experts you have hired for your site.
Can Using Persistent Object Cache in WordPress Break My Site?
The object cache setup on server is required and will not harm. The phrase “Persistent Object Cache” is not exactly the same thing.
Commonly people use a combination of different types of caching. That eventually create odd sort of problems. APC (we are talking about persistent cache) will not break the site but can make the WordPress admin functions behave oddly. Certain plugins (such as syntax highlighter), and certain tools such as post editor may not properly work. Live data on the front end may not show correctly.
It is unusual for APC to disturb when it is just installed on the server (that is object cache). But when you integrate with the plugin (that becomes Persistent Object Cache), it demands advanced configuration of PHP files to exclude some parts from getting cached. Memcache, and Redis all can have different kinds of issues which require an experienced person to set up. Probably not all the plugins are “compatible” and bare Javascripts may dysfunction. Furthermore, WordPress documents mentions only Redis, Memcached and SQLlite, not APC. Some of the drop-ins are 8-9 years old.