日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

哈希运算python实现_一致性哈希算法 python实现

發(fā)布時(shí)間:2024/1/23 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 哈希运算python实现_一致性哈希算法 python实现 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

# -*- coding: utf-8 -*-

"""

一致性哈希算法 python實(shí)現(xiàn)

參考

http://weblogs.java.net/blog/2007/11/27/consistent-hashing

http://code.google.com/p/flexihash/

http://www.codinglabs.org/html/consistent-hashing.html

"""

import hashlib

class ConsistentHash(object):

def __init__(self, hasher=None, replicas=None):

self.hasher = hasher and hasher or hashlib.md5

self.replicas = replicas and replicas or 64

self.positionToTarget = {}

self.targetToPositions = {}

self.targetCount = 0

def addTarget(self, target):

self.targetToPositions[target] = []

for i in range(self.replicas):

position = self.hasher(str(target)+str(i)).hexdigest()

self.positionToTarget[position] = target

self.targetToPositions[target].append(position)

self.targetCount += 1

def addTargets(self, targets):

for target in targets:

self.addTarget(target)

def removeTarget(self, target):

if self.targetToPositions.has_key(target):

for position in self.targetToPositions[target]:

self.positionToTarget.pop(position)

self.targetToPositions.pop(target)

self.targetCount -= 1

def getAllTargets(self):

return self.targetToPositions.keys()

def lookupList(self, resource, requestedCount):

if not self.positionToTarget:

return []

resourcePosition = self.hasher(resource).hexdigest()

results = []

collect = False

for key in sorted(self.positionToTarget.keys()):

value = self.positionToTarget[key]

if not collect and key > resourcePosition:

collect = True

if collect and value not in results:

results.append(value)

if len(results) == requestedCount or \

len(results) == self.targetCount:

return results

for key in sorted(self.positionToTarget.keys()):

value = self.positionToTarget[key]

if value not in results:

results.append(value)

if len(results) == requestedCount or \

len(results) == self.targetCount:

return results

return results

def lookup(self, resource):

targets = self.lookupList(resource, 1)

return targets[0]

總結(jié)

以上是生活随笔為你收集整理的哈希运算python实现_一致性哈希算法 python实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产露脸无套对白在线播放 | 1024金沙人妻一区二区三区 | 色综合99久久久无码国产精品 | 高清一级片| 一级黄色免费毛片 | 欧美性生交大片免费看 | 欧美色图首页 | 亚洲精品久久久久久久久久吃药 | 激情小说专区 | 永久在线免费观看 | 精品一区二区三区在线视频 | 超碰caoprom | 亚洲专区欧美专区 | 大黑人交xxx极品hd | wwwwww国产 | 正在播放国产一区 | 婷婷天堂| 国产成人精品视频 | 亚洲熟女综合一区二区三区 | 91禁动漫在线 | 男人的天堂av网站 | 性生交大片免费看3p | 色桃网 | 凹凸av在线 | 欧美日韩国产中文字幕 | 色欲人妻综合网 | 麻豆av一区二区三区久久 | 看片在线 | 国产伦精品一区二区三区免费 | 日韩r级电影在线观看 | 久久精品男人的天堂 | 欧美精品在线一区二区 | 日本一区二区免费高清视频 | 色婷婷综合成人av | 激情精品| 亚洲国产精选 | 在线 色| 极品探花在线播放 | 黄色片在线免费 | 神秘电影永久入口 | 国产一区二区在 | 日韩欧美中文在线 | 国产欧美久久久精品免费 | 欧美高清另类 | 成人av电影天堂 | 久久精品在线免费观看 | 在线色资源 | 欧美xxxx胸大 | 朝桐光av一区二区三区 | 欧美极品jizzhd欧美爆 | 黄色小说视频网站 | 国产网站黄 | 国产在视频线精品视频 | 熟妇人妻中文av无码 | 九一亚洲精品 | 性色av免费观看 | 天天爱天天草 | 四虎精品| 久久99精品久久久久子伦 | 91在线视频免费播放 | 全部孕妇毛片丰满孕妇孕交 | 自拍 偷拍 欧美 | 人妻少妇偷人精品久久性色 | 美妇av | 一边摸上面一边摸下面 | 69影院在线观看 | 岳狂躁岳丰满少妇大叫 | 色哟哟国产精品色哟哟 | 大吊av| 欧美一级黄视频 | 精品视频中文字幕 | 亚洲第一色站 | 亚洲精品女人 | 亚洲午夜精品久久久久久app | 性少妇videosexfre | 好姑娘在线观看高清完整版电影 | 姑娘第5集在线观看免费好剧 | www插插插无码免费视频网站 | 日本特级淫片 | 91吃瓜今日吃瓜入口 | 久久天堂av | 日韩经典一区二区三区 | 国产精品久久久久久久成人午夜 | 亚洲av无码一区二区三区四区 | 欧美日韩一区电影 | 久久嫩草精品久久久久 | 粉嫩aⅴ一区二区三区四区五区 | 久久e热 | 久久精品5 | 天堂成人| 少妇无内裤下蹲露大唇视频 | 800av免费在线观看 | 一区二区日韩av | 亚洲天堂一区二区在线观看 | 亚洲图片偷拍区 | 色综综| www.欧美日韩 | 蜜桃免费av| 伊人春色在线 |