Please don't use this. Icicle is no longer in active development, and as such, neither is this.
A simple cache library, built for Icicle, with anti-stampede and promises.
// 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...
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.