SimpleCache module for Magnolia CMS

Version 5.0.10 is available for Magnolia 4.5.

In short, SimpleCache is an alternative cache module for Magnolia.

Wonder why we are proposing a different cache module? Well, the reasons and differences are easy to sum up:

  • simplicity! Release over release the standard Magnolia cache module has become more powerful, but this also translated in a complex configuration. If you don't need nothing special and a simple cache module is enough now you can avoid that voters/executors/policies hell... 
  • don't eat up a lot of memory and stream resources from disk: the standard Magnolia cache module is based on ehcache, which is a powerful cache solution but it's a no-go if you need to stream your cache entries.
    The standard magnolia cache module perform very well if the whole cache is kept on memory, but if you have a lot of items and you want to have your cache to disk performances can not be good as expected... when a cache entry is saved on disk ehcache simply read the whole entry in memory and starts to stream it only after. That means a slower response and a very high memory usage  (lot of spikes and a always busy GC).
    The SimpleCache module, on the other hand, only works with a disk cache, streaming entries and never using more memory than required.

Installation

Unzip the module bundle into your Magnolia webapp WEB-INF/lib folder just like any other module or, if you're using Maven, simply declare the dependency in your pom.xml. 

Configuration

Note that the module doesn't add any default configuration by its own, so you need to set it up by adding and configuring the "simplecache" filter in the config jcr.

Before starting, we suggest to remove the configuration for the standard magnolia cache module (the "cache" and "gzip" configured filters at least), then you can add the "simplecache" filter at the same position.

All the module configuration is done through this filter. There are a couple of config you will not likely need to change, like the cachemanager (just configure it like in the following screenshot), but you surely may want to customize you cache includes/excludes.

Those can be configured in the "bypasses/allinone" node. The names of the properties in the screenshot should be self-explanatory. If not, you can checkout the javadocs for the AllInOne voter.

 

    Project info & quick links