This is a full backport of Drupal 7 core
cache.inc for Drupal 6. It works as-is a drop-in replacement, without having any patch to do over core.
It allows usage of multiple cache backends on the same site (example: you could use APC backend for critical cache tables, memcache for page caching, and let the others live on database).
The Drupal 7
cache.inc file has been copied as-is as the provided file, with only two patches:
- The database default backend as been moved to its own file, because it has been severly patched in order to gracefully downgrade to D6 database layer.
- At the end of file, every declared cache backend file is loaded because we don't have an autoloader function.
Installation is quite simple and fully documented in INSTALL.txt file provided in the module package.
Now that Drupal 8 is approaching, this module will be minimally maintained. Bugs will be fixed, but further feature development is stopped. There is no Drupal 7 version planned: Drupal 8 is too different and using its cache backends would require a considerable amount of work and potentially need Symfony 2 components, and a partial Drupal 8 dependency injection container inclusion depending on the targetted backends. I'm afraid this is way too much work for no real benefits and would bloat Drupal 7 runtime.
Any person with a good experience on Drupal cache handling that want to co-maintain this module will be greatly appreciated and granted as a new co-maintainer. Anyone that want to develop a Drupal 7 version will be considered too.
Known compatible backends
- File Cache (D7, no patch required) - sucessor to fastpath_fscache and Cache Router altogether
- APC - Alternative PHP Cache (D7, no patch required) - sucessor to Cache Router
- Redis (D7, no patch required)
- Memcache API and Integration (D7, patch required and provided)
- Database backend (provided, and set to default if no other backend configured) - Fixed since 6.x-1.0-alpha4 release
And, of course..
.. you need to download Drupal 7 cache backend modules, not Drupal 6 for this to work. The only bad side effect is that you won't be able to use provided
.module files, that are only D7 compliant of course, but backends will work for most of it if they remain D7 API free (APC is, and that's good!).
And that's it, have fun with it!
Great thanks to LPCA which actually tested a lot this module. A lot of issues are being fixed thanks to him.
Of course, great thanks to all contrib backend modules' developers.