Recommended releases
| Download | Released | |
|---|---|---|
| 1.x-3.20.0-beta (77.57 KB) | Mar 21st, 2026 | Notes |
Important notice
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 not 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.
This module does not implement any kind of client side key hashing or sharding
and never intended to. We recommend that you read the official Redis
documentation page about partitioning.
The best solution for clustering and sharding today seems to be the proxy
assisted partitioning using tools such as Twemproxy.
Current components state
As of now, provided components are simple enough so they never use WATCH or
MULTI/EXEC transaction blocks on multiple keys. This means that you can use
them in an environment doing data sharding/partitioning. This remains true
except when you use a proxy that blocks those commands such as Twemproxy.
Lock
Lock backend works on a single key per lock, it theoretically guarantees the
atomicity of operations therefore is usable in a sharded environment. Sadly
if you use proxy assisted sharding such as Twemproxy, WATCH, MULTI and EXEC
commands won't pass making it non shardable.
Path
Path backend is not used on transactions, it is safe to use in a sharded
environment. Note that this backend uses a single HASH key per language
and per way (alias to source or source to alias) and therefore won't benefit
greatly if not at all from being sharded.
Cache
Cache uses pipelined transactions but does not uses it to guarantee any kind
of data consistency. If you use a smart sharding proxy it is supposed to work
transparently without any hiccups.
Queue
Queue is still in development. There might be problems in the long term for
this component in sharded environments.
Issues
To submit bug reports and feature suggestions, or to track changes:
https://github.com/backdrop-contrib/redis/issues
Current Maintainers
Credits
- Ported to Backdrop by Joseph Flatt
- Originally developed for Drupal by pounard
- Currently maintained for Drupal by Berdir.
- Many more credits are listed on the Drupal.org page
License
This project is GPL v2 software. See the LICENSE.txt file in this directory for
complete text.