rb - the redis blaster.
The fastest way to talk to many redis nodes. Can do routing as well as blindly blasting commands to many nodes. How does it work?
For full documentation see rb.rtfd.org
Set up a cluster:
from rb import Cluster
cluster = Cluster({
0: {'port': 6379},
1: {'port': 6380},
2: {'port': 6381},
3: {'port': 6382},
}, host_defaults={
'host': '127.0.0.1',
})
Automatic routing:
results = []
with cluster.map() as client:
for key in range(100):
client.get(key).then(lambda x: results.append(int(x or 0)))
print 'Sum: %s' % sum(results)
Fanout:
with cluster.fanout(hosts=[0, 1, 2, 3]) as client:
infos = client.info()
Fanout to all:
with cluster.fanout(hosts='all') as client:
client.flushdb()