2017 © Pedro Peláez
 

library flexihash

Flexihash is a small PHP library which implements consistent hashing

image

flexihash/flexihash

Flexihash is a small PHP library which implements consistent hashing

  • Friday, June 3, 2016
  • by dmnc
  • Repository
  • 42 Watchers
  • 302 Stars
  • 61,038 Installations
  • PHP
  • 4 Dependents
  • 0 Suggesters
  • 77 Forks
  • 2 Open issues
  • 5 Versions
  • 7 % Grown

The README.md

Flexihash

Build Status Coverage Status, (*1)

Flexihash is a small PHP library which implements consistent hashing, which is most useful in distributed caching. It requires PHP5 and uses PHPUnit for unit testing., (*2)

Installation

Composer is the recommended installation technique. You can find flexihash on Packagist so installation is as easy as, (*3)

composer require flexihash/flexihash

or in your composer.json, (*4)

{
    "require": {
        "flexihash/flexihash": "^3.0.0"
    }
}

Usage

$hash = new Flexihash();

// bulk add
$hash->addTargets(['cache-1', 'cache-2', 'cache-3']);

// simple lookup
$hash->lookup('object-a'); // "cache-1"
$hash->lookup('object-b'); // "cache-2"

// add and remove
$hash
  ->addTarget('cache-4')
  ->removeTarget('cache-1');

// lookup with next-best fallback (for redundant writes)
$hash->lookupList('object', 2); // ["cache-2", "cache-4"]

// remove cache-2, expect object to hash to cache-4
$hash->removeTarget('cache-2');
$hash->lookup('object'); // "cache-4"

Tests

Unit Test

% vendor/bin/phpunit

Benchmark Test

% vendor/bin/phpunit tests/BenchmarkTest.php

Further Reading

  • http://www.spiteful.com/2008/03/17/programmers-toolbox-part-3-consistent-hashing/
  • http://weblogs.java.net/blog/tomwhite/archive/2007/11/consistent_hash.html

The Versions

22/04 2016

v2.0.1

2.0.1.0 https://github.com/pda/flexihash

Flexihash is a small PHP library which implements consistent hashing

  Sources   Download

MIT

The Requires

  • php >=5.4.0

 

The Development Requires

08/11 2015

v2.0.0

2.0.0.0 https://github.com/pda/flexihash

Flexihash is a small PHP library which implements consistent hashing

  Sources   Download

MIT

The Requires

  • php >=5.4.0

 

The Development Requires

16/10 2015

v1.0.0

1.0.0.0 https://github.com/dmnc/flexihash

Flexihash is a small PHP library which implements consistent hashing

  Sources   Download

MIT

The Development Requires