-
Notifications
You must be signed in to change notification settings - Fork 0
tcpcloud/debian-python-consistent-hash
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
consistent-hash =============== Implements consistent hashing that can be used when the number of server nodes can increase or decrease.The algorithm that is used for consistent hashing is the same as libketama <https://github.com/RJ/ketama> Usage =============== It's so easy to use^_^:: from consistent_hash import ConsistentHash # You can construct consistent hash with the below three ways con_hash = ConsistentHash({'192.168.0.101:11212':1, '192.168.0.102:11212':2, '192.168.0.103:11212':1}) # Or con_hash = ConsistentHash(['192.168.0.101:11212', '192.168.0.102:11212', '192.168.0.103:11212'])) # Or con_hash = ConsistentHash('192.168.0.101:11212') # Add servers to hash ring con_hash.add_nodes({'192.168.0.104:11212':1}) # Get a server via the key of object server = con_hash.get_node('my_key') # Delete the server from hash ring, you don't need to indicate weights con_hash.del_nodes(['192.168.0.102:11212', '192.168.0.104:11212']) Unit test =============== - Firstly, install nose which extends unittest to make testing easier:: pip install nose - Then, run tests:: # Option -s any stdout output will be printed immediately # and -v be more verbose nosetests -s -v More information about nose <https://nose.readthedocs.org/en/latest/>
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Packages 0
No packages published