jmf/simple-cache

Cache package implementing PSR-16 simple cache interface.

Maintainers

Package info

github.com/jmfeurprier/simple-cache

pkg:composer/jmf/simple-cache

Transparency log

Statistics

Installs: 131

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

1.1.0 2026-01-18 22:57 UTC

This package is auto-updated.

Last update: 2026-07-19 00:05:39 UTC


README

Allows caching of data (with Memcached, file-system, etc).

Installation & Requirements

Install with Composer:

composer require jmf/simple-cache

Usage

Initialization

Memcached Storage

<?php

use Jmf\Cache\Cache;
use Jmf\Cache\Storage\MemcachedStorage;
use Psr\Clock\ClockInterface;
use Psr\Log\LoggerInterface;

/* @var ClockInterface $clock */
/* @var LoggerInterface $logger */

$storage = MemcachedStorage::createFromCredentials('123.45.67.89');
$cache   = new Cache($storage, $clock, $logger);

File System Storage

<?php

use Jmf\Cache\Cache;
use Jmf\Cache\Storage\FileSystemStorage;
use Psr\Clock\ClockInterface;
use Psr\Log\LoggerInterface;

/* @var ClockInterface $clock */
/* @var LoggerInterface $logger */

$storage = new FileSystemStorage('/tmp/cache');
$cache   = new Cache($storage, $clock, $logger);

Volatile (per-process) Storage

<?php

use Jmf\Cache\Cache;
use Jmf\Cache\Storage\VolatileStorage;
use Psr\Clock\ClockInterface;
use Psr\Log\LoggerInterface;

/* @var ClockInterface $clock */
/* @var LoggerInterface $logger */

$storage = new VolatileStorage();
$cache   = new Cache($storage, $clock, $logger);

Null Storage (caches nothing)

<?php

use Jmf\Cache\Cache;
use Jmf\Cache\Storage\NullStorage;
use Psr\Clock\ClockInterface;
use Psr\Log\LoggerInterface;

/* @var ClockInterface $clock */
/* @var LoggerInterface $logger */

$storage = new NullStorage();
$cache   = new Cache($storage, $clock, $logger);

Storing data into cache

<?php

$objectToStore = new \stdClass();
$objectToStore->bar = 'baz';

$cache->set('foo', $objectToStore);

Retrieving data from cache

<?php

$object = $cache->get('foo');

// ...

$object = $cache->delete('foo');

Testing data presence in cache

<?php

if ($cache->has('foo') {
    // ...
}

Removing data from cache

<?php

$cache->delete('foo');