Jump Menu : Content | Explore | Comments | Search | Home | Sitemap | Contact | Login | Access.

How to Enable the Default WordPress Object Cache

Recently, while attempting to optimize site performance, I found myself experimenting with various caching mechanisms currently available for WordPress. Specifically, I explored each of the following caching options:

While working with the two plugins, WP Cache 2 and Super Cache, I was pleased to discover crystal-clear instructions on each their respective sites. Having access to installation and usage information greatly facilitated the implementation of each of these caching techniques.

On the other hand, finding information about the default WordPress object cache proved virtually impossible. Finally, after locating some decent information, I was able to confirm my initial suspicions and subsequently decided to post a quick article outlining and describing this very straightforward caching method. Although enabling the WordPress cache turns out to be drop-dead easy, it is always good to be sure that you aren’t forgetting a step or otherwise overlooking some important aspect of the process.

How to enable the default WordPress cache in 3 easy steps

Ready? Implementing the default WordPress object cache is remarkably simple:

1) Enable the caching mechanism — open your wp-config.php file and set the value of ENABLE_CACHE to “TRUE”:

define('ENABLE_CACHE', TRUE);

2) Create the cache directory — create a folder called “cache” and place it within the wp-content directory:

/wp-content/cache/

3) Make the cache folder writable — ensure that the folder is writable by setting its permissions to 755 or 777.

Once you have everything setup, surf around your site and check things out by reloading a few different pages. If the WordPress default object cache is working correctly, you will see a newly added slew of temporary cache files along with a newly created index.php file and wp_object_cache.lock file within the cache directory. Thus, if you don’t see any such files in the cache directory after surfing around your site, go back and recheck that you have correctly executed the proper steps. Note: if nothing seems to be happening with your cache — i.e., no cache files are being generated — you may want to try “rebooting the cache” via the following procedure:

  1. Disable the cache in wp-config.php
  2. Delete the cache directory completely from your server 1
  3. Create a new cache directory, set the permissions, and re-enable caching in wp-config.php

I have also had luck simply deleting the cache directory and letting WordPress recreate it automatically. Remember, if it doesn’t work the first few times, try a few more times before giving up — it does work!

After you have confirmed that the object cache is working, you’re done. From that point on, or until you disable it, the cache should work as intended, saving you bandwidth resources and saving your visitors time. To verify this, navigate to a long-lost post that is buried way back in your archives somewhere — something that is completely off the radar. As you visit, note the page loading time. Now, visit the page again and compare the results. On average, while the native object cache is nowhere near as effective as either plugin method, it does manage to shave off a noticeable amount of loading time for your visitors. Although the WordPress object cache may not work as well as either of the cache plugins currently available, it is an effective caching method that is a breeze to setup and run. And, best of all, the default caching mechanism works perfectly with virtually all WordPress plugins.

1 Note: One final note concerning the WordPress object cache: all of the files may be safely deleted at your discretion — everything is regenerated automagically ;)

Related articles

About this article

This is article #464, posted by Perishable on Wednesday, December 26, 2007 @ 02:27pm. Categorized as WordPress, and tagged with cache, optimize, tutorial, WordPress. Updated on December 29, 2007. Visited 7329 times. 10 Responses »

BookmarkTrackbackCommentSubscribeExplore

« December 22nd, 2007 • Up • Are Adblock-Plus Visitors Seeing Your Content? »


10 Responses

1 • December 26, 2007 at 9:31 pm — Rasheed says:

Thank you for this post.

But what about chmod 777 ?

Is it safe ?

Thanks

2 • December 27, 2007 at 3:10 am — DeepFreeze says:

The point that you mentioned, “saving you bandwidth”, I am quite sure that it might still be the same. But I am definitely sure that the Web Server CPU usage will drop down dramatically.

3 • December 27, 2007 at 9:07 am — Ozh says:

Indeed, it won’t save any bandwidth.

A noteworthy aspect of caching (be it WP-Cache, the built-in cache or whatever): whenever your blog takes ages to load and you have no clue where the problem comes from, just delete the /cache folder. More often than you’d think, it will fix everything.
On Dreamhost, I simply deactivated the cache on all the blogs I run because it was locking too often (I think the efficiency of it depends on some NFS configuration)

4 • December 29, 2007 at 1:07 pm — Perishable says:

@Rasheed: If you are able, you should definitely use 755 over 777. 755 grants fewer permissions and is thus the preferable choice, however, this setting does not always work under all circumstances and on all servers, whereas 777 — although not ideal — generally does the trick.

@DeepFreeze: Yes, I see that now, I honestly don’t know what I was thinking (if anything) when I wrote that. I suppose it made sense at the time.. I guess that’s what I get for self-editing my content. I will definitely be fixing this — thanks for pointing it out ;)

@Ozh: Ouch! It hurts now ;) Sorry for the misinformation! Also, thank you for mentioning the “cure-all” cache-deletion trick. I have experienced this myself on more than one occasion, including, oddly enough, setting up the WP cache itself. It is a strange, frequently useless beast, I concur, however, it may prove beneficial for certain individuals and/or specific situations. Hopefully, this post will help shed some light on the overall implementation process.

5 • December 30, 2007 at 9:22 am — DeepFreeze says:

;-), Anytime Bro Anytime

6 • January 7, 2008 at 2:37 am — Frank says:

More Options for WP-Cache:

define('ENABLE_CACHE', true); // Cache on
define('CACHE_EXPIRATION_TIME', 604800); // Cachetime in seconds

and a small Plugin for control the cache:
http://bueltge.de/wordpress-cache-kontrollieren/479/

You can clear the cache with one click.
With best regards
Frank

7 • January 8, 2008 at 2:13 pm — Perishable says:

Frank,

Thanks for reminding us about the CACHE_EXPIRATION_TIME option.. I was going to mention it in the article, but apparently failed to do so, for some reason or other..

Also thanks for sharing the WordPress Cache Controller plugin with us — I am sure users will find it useful! Clearing the cache with a single click is definitely sweet ;)

Cheers,
Jeff

8 • January 8, 2008 at 11:50 pm — Frank says:

Welcome!

I have update this plugin with small addon. The plugin clear the cache, when you puplish, edit or delete comment and when you cjange private to puplish. You must not click, this functions is automaticly.
With best regards and sorry for my bad english.
Frank

9 • January 9, 2008 at 11:47 am — Perishable says:

Very good, Frank — thank you for sharing the update news with us!

Cheers,
Jeff

Drop a comment

Trackbacks / Pingbacks

  1. 38 ways to optimize and speed up your WordPress blog | WordPressGarage.com

Set CSS to lite theme
Set CSS to dark theme