Understanding Global Module Caching in Joomla 2.5
Written by Brad MarkleEnabling caching in Joomla 2.5 is a great way to speed up page load times and reduce server load. While there are several articles already on the web about Joomla 2.5 caching, they fail to provide clarity, and they all generally repeat the same information. In this article, we hope to answer common questions regarding the Global Configuration >> System >> Cache Settings.
In our testing, we created a simple module called mod_last_cache. This module uses the php time function and prints the current time to the screen. The idea being that if cached content is being served, you will see an older time on the page. If cached content was not being served, you would see the actual time on the page.
We also tested using two different computers. Each unique computer is referred to as User 1 and User 2 in the raw data table listed further below in this article.
RESULTS
After running our tests, we came to the following conclusions:
| Unique cache per visitor | Conservative cache shows all visitors to your site the same exact cached content. Progressive caching however caches the content for each user uniquely. |
|---|---|
| Toggling module caching | If you want to toggle caching on/off with individual modules, set the global cache type to Conservative and then use the module's cache type to enable / disable caching. Progressive caching overrides a specific modules cache settings. |
| Logged in users and cache | Regardless of conservative vs. progressive caching, logged in users do not see cached module content. |
| Module cached is based upon the current page | Each module that is cached can have a different cached version for each page. For example, if you had a "related questions" module, a cached version of this will work (it would show a cached version of related articles for each different article). |
Raw Results
Items in green represent cached content being shown. Items in red represents non cached content being shown.
| User | logged in? | page1 time | page2 time | Debug Enabled? | Global Cache | Module Cache | ||
|---|---|---|---|---|---|---|---|---|
| 1 | no | 2/24/2012 14:43:28 | 2/24/2012 14:43:48 | yes | conservative | use global | ||
| 1 | no | 2/24/2012 14:43:28 | 2/24/2012 14:43:48 | yes | conservative | use global | ||
| 2 | no | 2/24/2012 14:43:28 | 2/24/2012 14:43:48 | yes | conservative | use global | ||
| 2 | no | 2/24/2012 14:43:28 | 2/24/2012 14:43:48 | yes | conservative | use global | ||
|
At this point in our testing, we set the module cache type to no caching. |
||||||||
| 1 | no | 2/24/2012 14:46:05 | 2/24/2012 14:46:14 | yes | conservative | no caching | ||
| 1 | no | 2/24/2012 14:46:32 | 2/24/2012 14:46:40 | yes | conservative | no caching | ||
| 2 | no | 2/24/2012 14:46:49 | 2/24/2012 14:47:00 | yes | conservative | no caching | ||
| 2 | no | 2/24/2012 14:47:09 | 2/24/2012 14:47:21 | yes | conservative | no caching | ||
|
At this point in our testing, we set the global cache type to Progressive caching. |
||||||||
| 1 | no | 2/24/2012 14:47:55 | 2/24/2012 14:48:04 | yes | progressive | no caching | ||
| 1 | no | 2/24/2012 14:47:55 | 2/24/2012 14:48:04 | yes | progressive | no caching | ||
| 2 | no | 2/24/2012 14:48:31 | 2/24/2012 14:48:40 | yes | progressive | no caching | ||
| 2 | no | 2/24/2012 14:48:31 | 2/24/2012 14:48:40 | yes | progressive | no caching | ||
| 1 | no | 2/24/2012 14:47:55 | 2/24/2012 14:48:04 | yes | progressive | no caching | ||
| 2 | no | 2/24/2012 14:48:31 | 2/24/2012 14:48:40 | yes | progressive | no caching | ||
|
At this point in our testing, we set the global cache type to Conservative caching. |
||||||||
| 1 | no | 2/24/2012 14:50:08 | 2/24/2012 14:50:16 | yes | conservative | no caching | ||
| 1 | no | 2/24/2012 14:50:34 | 2/24/2012 14:50:46 | yes | conservative | no caching | ||
| 1 | no | 2/24/2012 14:51:05 | 2/24/2012 14:51:13 | yes | conservative | no caching | ||
|
At this point in our testing, we set the module's cache type to use global settings. |
||||||||
| 1 | no | 2/24/2012 14:51:50 | 2/24/2012 15:04:07 | yes | conservative | use global | ||
| 1 | no | 2/24/2012 14:51:50 | 2/24/2012 15:04:07 | yes | conservative | use global | ||
| 2 | no | 2/24/2012 14:51:50 | 2/24/2012 15:04:07 | yes | conservative | use global | ||
| 2 | no | 2/24/2012 14:51:50 | 2/24/2012 15:04:07 | yes | conservative | use global | ||
|
At this point in our testing, User 2 is logged into Joomla. |
||||||||
| 2 | yes | 2/24/2012 15:05:25 | 2/24/2012 15:05:35 | yes | conservative | use global | ||
| 2 | yes | 2/24/2012 15:05:45 | 2/24/2012 15:05:53 | yes | conservative | use global | ||
| 2 | yes | 2/24/2012 15:06:05 | 2/24/2012 15:06:15 | yes | conservative | use global | ||
|
At this point in our testing, we set the global cache type to Progressive caching. |
||||||||
| 2 | yes | 2/24/2012 15:06:52 | 2/24/2012 15:07:01 | yes | progressive | use global | ||
| 2 | yes | 2/24/2012 15:07:12 | 2/24/2012 15:07:20 | yes | progressive | use global | ||
|
At this point in our testing, we enabled the global settings debug feature. |
||||||||
| 2 | yes | 2/24/2012 15:10:14 | 2/24/2012 15:10:23 | no | progressive | use global | ||
| 2 | yes | 2/24/2012 15:10:34 | 2/24/2012 15:10:41 | no | progressive | use global | ||
| 1 | no | 2/24/2012 14:51:50 | 2/24/2012 15:04:07 | no | progressive | use global | ||
| 1 | no | 2/24/2012 14:51:50 | 2/24/2012 15:04:07 | no | progressive | use global | ||
Joomla 2.5 Caching
| 1. | Understanding Global Module Caching in Joomla 2.5 |
| 2. | Clear Cache vs. Purge Expired Cache in Joomla 2.5 |
| 3. | How to Purge Expired Cache in Joomla 2.5 |
| 4. | How to clear cache in Joomla 2.5 |
Latest Questions
Need more Help?
Search
Ask the Community!
Current Customers
| Chat: | Click to Chat Now | E-mail: | support@InMotionHosting.com |
|---|---|---|---|
| Call: | 888-321-HOST (4678) | Ticket: | Submit a Support Ticket |

