Integration of Drupal with the Redis key-value store. It provides cache, lock and path optional backends as well as a placeholder module for contribution modules Redis easier usage.

Drupal 8

There is now a stable Drupal 8 release that provides a cache, lock and flood backend. See README.txt for more information.

Drupal 7

For all users, please note that 3.x is now the officially supported branch, 2.x branch won't be heavily maintained anymore except for critical bugs.

Provided backends

Predis

Redis cache backend using the standalone Predis PHP library.

Requires PHP 5.3. Please read README.Predis.txt file for full install documentation.

This module since the 2.12 version now only officially supports Predis >= 1.x. Redis module 3.x only supports Predis >= 1.x

PhpRedis

Redis cache backend using the well performing PhpRedis PHP extension.

Please read README.PhpRedis.txt file for configuration and documentation. PhpRedis is the recommended connector.

Failover, sharding and partionning

There are numerous support and feature request issues about client sharding, failover ability, multi-server connection, ability to read from slave and server clustering opened in the issue queue. Note that there is no one universally efficient solution for this: most of the solutions require that you cannot use the MULTI/EXEC command using more than one key, and that you cannot use complex UNION and intersection features anymore.

Until this module grows with (a) mature and stable solution(s) we recommend that you read the official Redis documentation page about partionning.

The best solution for clustering and sharding today seems to be the proxy assisted partionning using tools such as Twemproxy.

Proxy-assisted sharding is the recommended way of sharding cache with the this module. If you intend to do so please use the Redis 3.x branch of this module.

Additional information

  • 7.x: Enabling the module serve no purpose except if another module is depending on it. If you enabled update status module, please enable it for update information, it will also provide usage statistics
  • 8.x: It is recommended to have the module enabled, otherwise special configuration is needed to be able to load classes
  • You can tune Redis for cache handling, see http://redis.io/topics/config below section

External resources

Credits

Development

Makina Corpus maintains the Drupal 7 version.

MD Systems maintains the Drupal 8 version.

Community

Great thanks to Irakli that granted me the commit access over this project.
Thanks to msonnabaum for the interest he shows for this modules and his numerous patches, and for his reactivity in finding critical bugs.
Thanks to David Strauss for patches.
Thanks to jtsnow for the smart design suggestions and patches.
Thanks to das-peter for a very peculiar bug fix, I would never have found this one.
Thanks to Berdir and Dave Reid for finding out that core tests were failing with this module.
Thanks to caiosba and Island Usurper for working out of the excessive cache clear problems.
Thanks to greggles for pushing this module to stable, and for the documentation fixes.
Thanks to omega8cc for her detailed important bug reports.
Thanks to SocialNicheGuru for testing the 3.x branch and giving me a lot of feedback.
The greatest thanks of all time to mja along with omega8cc for solving the deadlock problem. The later for working literally hours to find the source, the former for fixing it.
Thanks to mdupont for heavily testing the 3.x branch and providing resourceful feedback and patches for it.
Thanks to Berdir who is now the official 8.x branch maintainer.
Many thanks to axel.rutz which implemented the compressed cache backend, and to memtkmcc for testing it.

Over the life of this module, this list can grow very long. Want to be quoted here? Open an issue!

Supporting organizations: 
Drupal 8 port and maintenance
Original Drupal 7 version and maintenance

Project information

Releases