Skip to content
Routing and connection management for Redis in Python
Python Other
  1. Python 99.6%
  2. Other 0.4%
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
artwork
docs fix typo Aug 21, 2015
hooks Fixed the hook Aug 16, 2015
rb 1.7 Jun 22, 2017
tests fix(tests): Improve test compatibility with redis==2.10.6 (#25) Oct 11, 2017
.gitignore Miscellaneous cleanups to `execute_command`. Feb 3, 2016
.travis-linux.sh
.travis-osx.sh Always install redis on osx Jan 11, 2016
.travis.yml Added pyenv bin folders for mac travis Aug 19, 2015
CHANGES Updated changelog Jun 22, 2017
LICENSE Initial version of Abanico based on Nydus Aug 13, 2015
Makefile Hide commands that run in makefile Aug 19, 2015
README.md Updated readme Sep 8, 2015
setup.py Added missing deps Aug 16, 2015

README.md

rb

logo

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

Quickstart

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()
You can’t perform that action at this time.