本文整理汇总了Python中hash_ring.HashRing.keys方法的典型用法代码示例。如果您正苦于以下问题:Python HashRing.keys方法的具体用法?Python HashRing.keys怎么用?Python HashRing.keys使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类hash_ring.HashRing
的用法示例。
在下文中一共展示了HashRing.keys方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: DistRedis
# 需要导入模块: from hash_ring import HashRing [as 别名]
# 或者: from hash_ring.HashRing import keys [as 别名]
class DistRedis(MethodMissing):
def __init__(self,hosts):
self.hosts=[]
for h in hosts:
host,port = h.split(':')
self.hosts.append(Redis(host,int(port)))
self.ring = HashRing(self.hosts)
def add_server(self,server):
server,port = server.split(':')
r= Redis(server,port)
self.ring.add_node(r)
def save(self):
for redis in self.ring:
redis.save()
def bgsave(self):
for redis in self.ring:
redis.save(True)
def delete_cloud(self):
for redis in self.ring:
for key in self.ring.keys("*"):
redis.delete(key)
def quit(self):
for redis in self.ring:
redis.quit
def node_for_key(self,key):
if re.match("/\{(.*)\?\}/",key):
l=re.split("/\{(.*)\?\}/",key)
key = l[0]
return self.ring.get_node(key)
def method_missing(self, attr, *args, **kwargs):
redis = self.node_for_key(args[0])
if redis != None:
return redis.__getattribute__(attr)(*args,**kwargs)
'''def node_for_key(self,key):