1.1.0 • Published 11 years ago
consistent v1.1.0
consistent
Consistent hashing module for Node.JS
installation
npm install consistentusage
var consistent = require('consistent');
var ring = consistent({
members: [
"member1",
"member2",
{
key: "member3",
weight: 1.5 // optional, default weight is 1
}
],
hash: 'md5' // can use 'md5' or 'murmurhash'
});
console.log(ring.get('some key'));
// outputs member1 or member2 or member3api
add member
adds a new member
ring.add('member4');
// or
ring.add({
key: "member4",
weight: 3
})remove member
removes a member
ring.remove("member2")replace member
this preserves the hash slots of old member, if you want to recalculate hashes for the new member, just remove the old one and add the new one.
ring.replace('member1', 'member5');get member for hash slot
ring.get('some key');
ring.getCached('some key'); //use lru cachecheck if a member exists
ring.exists('member1') // returns true if a member has been added with name member1get member count
ring.length; // returns number of members within the ringauthor
Ekin Koc
license
MIT