Redis BlasterRedis 的路由和連接管理器
rb(redis blaster) 是一個用于 Redis 的路由和連接管理器,用 Python 編寫。rb 是最快的和多個 redis 節(jié)點對話的方式,可以在作為路由的同時對多個節(jié)點進行 blindly blasting 命令。
它是 redis 一個實現(xiàn)非復(fù)制分片的庫。在 python redis 的頂層,實現(xiàn)了一個自定義的路由系統(tǒng)。允許你自動對準不同的服務(wù)器,不必手動請求路由到單個節(jié)點。
它沒有實現(xiàn) redis 的所有功能,也不打算這樣做。你可以在任意點獲取一個對應(yīng)特定 host 的客戶端,但在大多數(shù)情況下,它假設(shè)是你的操作僅限于基本的鍵/值操作,可以自動路由到不同的節(jié)點。
能做什么:
單鍵操作就能自動對準 hosts
對所有或子集的節(jié)點執(zhí)行命令
并行地完成上述項目
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='all') as client: client.flushdb()
評論
圖片
表情
