Recommended releases

Download Released

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

License

This project is GPL v2 software. See the LICENSE.txt file in this directory for
complete text.