A simple implement of consistent hashing.
Project description
>>> from consistenthashing import consistenthashing >>> inst = consistenthashing(nodes=["122.225.109.103","221.236.5.135","58.58.179.52","61.174.51.204","222.186.31.234","182.74.141.242","179.107.90.135"], slotSize=10000, virtualNode=2) >>> inst.getAllNodes() ['122.225.109.103', '221.236.5.135', '58.58.179.52', '61.174.51.204', '222.186.31.234', '182.74.141.242', '179.107.90.135'] >>> inst.addNode('1.1.1.1') True >>> inst.getNode('1') '61.174.51.204' >>> inst.getNode('a') '122.225.109.103' >>> inst.getNode('hello') '61.174.51.204' >>> inst.getNode('consistenthashing') '1.1.1.1' >>> inst.getVirtualNodeNumber() 2 >>> inst.getVirtualNodes('221.236.5.135') ['221.236.5.135_virtual1', '221.236.5.135_virtual2'] >>> inst.removeNode('122.225.109.103') True >>> inst.addNode('pypi.python.org') True >>> inst.getAllNodes() ['221.236.5.135', '58.58.179.52', '61.174.51.204', '222.186.31.234', '182.74.141.242', '179.107.90.135', '1.1.1.1', 'pypi.python.org']
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.