Home

Awesome

Deprecated

Please don't use this. Icicle is no longer in active development, and as such, neither is this.

Icicle Cache

Build Status Code Quality Code Coverage Version License

A simple cache library, built for Icicle, with anti-stampede and promises.

Usage

// get the value from the cache...
$cached = (yield $cache->get("foo"));

if (!$cached) {
    $cached = (yield $cache->set("foo", function () {
        // this coroutine is run in a separate process,
        // the last yielded value is cached...
        yield $data;
    }));
}

// use the $cached value for something...

Versioning

This library follows Semver. According to Semver, you will be able to upgrade to any minor or patch version of this library without any breaking changes to the public API. Semver also requires that we clearly define the public API for this library.

All methods, with public visibility, are part of the public API. All other methods are not part of the public API. Where possible, we'll try to keep protected methods backwards-compatible in minor/patch versions, but if you're overriding methods then please test your work before upgrading.