Cache is a small library to handle cache backend, the library also handle counter.
composer require sonata-project/cache
<?php
use Sonata\Cache\Adapter\Cache\PRedisCache;
$adapter = new PRedisCache([
'host' => '127.0.0.1',
'port' => 6379,
'database' => 42,
]);
$keys = [
'objectId' => 10,
];
$adapter->set($keys, 'MyValue', 86400);
$cacheElement = $adapter->get($keys);
$cacheElement->getData(); // MyValue
<?php
use Sonata\Cache\Adapter\Counter\PRedisCounter;
$adapter = new PRedisCounter([
'host' => '127.0.0.1',
'port' => 6379,
'database' => 42,
]);
$counter = $adapter->increment('mystats');
// $counter is a Counter object
$counter->getValue(); // will return 1 if the counter is new
$counter = $adapter->increment($counter, 10);
$counter->getValue(); // will return 11