WireCacheFilesystem by Ryan Cramer

ProcessWire WireCache module that replaces the default cache handler with a file system based cache.

WireCache Filesystem

ProcessWire WireCache module that replaces the default cache handler with a file system based cache.

This module requires ProcessWire 3.0.218 or newer. Do not attempt to install it on prior versions as the necessary interfaces do not exist prior to 3.0.218.

To use this module, you don't need to do anything other than install it. Once installed, it takes over the cache storage for the $cache API variable, moving it to the file system. When you uninstall the module, cache storage moves back to the database.

Depending on the environment, the file system based cache may be potentially faster than the database cache in some instances (such as reads), or slower in others (such as writes).

This module stores cache files in the following directory: /site/assets/cache/WireCache/

This module is also meant as an example implementation of the WireCacheInterface for other modules. The core /wire/core/WireCacheDatabase.php is also a good one to look at since a lot of the code in this Filesystem module ends up being file-system related, and WireCacheDatabase may be a little simpler in communicating some parts.

Installation

  • Copy the module files into /site/modules/WireCacheFilesystem/
  • In your admin, go to Modules > Refresh.
  • Click "install" for this module.
  • That's it.

Getting and saving caches

Please see the $cache API variable for details on getting and saving caches.

Clearing the cache

It is okay to delete the /site/assets/cache/WireCache/ directory as this module will re-create it automatically. Other than that, you can also always use the $cache->deleteAll() core API method to clear the cache.


Copyright 2023 by Ryan Cramer Design, LLC / ProcessWire

Install and use modules at your own risk. Always have a site and database backup before installing new modules.

Latest news

  • ProcessWire Weekly #549
    In the 549th issue of ProcessWire Weekly we’re going to check out the latest core updates, highlight one older yet still very relevant third party module, and more. Read on!
    Weekly.pw / 17 November 2024
  • Custom Fields Module
    This week we look at a new ProFields module named Custom Fields. This module provides a way to rapidly build out ProcessWire fields that contain any number of subfields/properties within them.
    Blog / 30 August 2024
  • Subscribe to weekly ProcessWire news

I just love the easy and intuitive ProcessWire API. ProcessWire rocks!” —Jens Martsch, Web developer