- Move constants to the "Cache" class (more transparent than inside the interface)

This commit is contained in:
Philipp Holzer 2019-08-04 15:51:49 +02:00
parent 34e4968c06
commit 19777baa79
No known key found for this signature in database
GPG key ID: D8365C3D36B77D90
18 changed files with 59 additions and 69 deletions

View file

@ -3,14 +3,13 @@
namespace Friendica\Core\Cache;
use Exception;
use Friendica\Core\Cache;
/**
* APCu Cache.
*
* @author Philipp Holzer <admin@philipp.info>
*/
class APCuCache extends AbstractCache implements IMemoryCache
class APCuCache extends Cache implements IMemoryCache
{
use TraitCompareSet;
use TraitCompareDelete;

View file

@ -2,8 +2,6 @@
namespace Friendica\Core\Cache;
use Friendica\Core\Cache;
/**
* Implementation of the IMemoryCache mainly for testing purpose
*
@ -11,7 +9,7 @@ use Friendica\Core\Cache;
*
* @package Friendica\Core\Cache
*/
class ArrayCache extends AbstractCache implements IMemoryCache
class ArrayCache extends Cache implements IMemoryCache
{
use TraitCompareDelete;

View file

@ -9,7 +9,7 @@ namespace Friendica\Core\Cache;
*
* @package Friendica\Core\Cache
*/
abstract class AbstractCache implements ICache
abstract class Cache implements ICache
{
const TYPE_APCU = 'apcu';
const TYPE_ARRAY = 'array';
@ -18,6 +18,16 @@ abstract class AbstractCache implements ICache
const TYPE_MEMCACHED = 'memcached';
const TYPE_REDIS = 'redis';
const MONTH = 2592000;
const WEEK = 604800;
const DAY = 86400;
const HOUR = 3600;
const HALF_HOUR = 1800;
const QUARTER_HOUR = 900;
const FIVE_MINUTES = 300;
const MINUTE = 60;
const INFINITE = 0;
/**
* Force each Cache implementation to define the ToString method
*

View file

@ -2,7 +2,6 @@
namespace Friendica\Core\Cache;
use Friendica\Core\Cache;
use Friendica\Database\Database;
use Friendica\Util\DateTimeFormat;
@ -11,7 +10,7 @@ use Friendica\Util\DateTimeFormat;
*
* @author Hypolite Petovan <hypolite@mrpetovan.com>
*/
class DatabaseCache extends AbstractCache implements ICache
class DatabaseCache extends Cache implements ICache
{
/**
* @var Database

View file

@ -9,16 +9,6 @@ namespace Friendica\Core\Cache;
*/
interface ICache
{
const MONTH = 2592000;
const WEEK = 604800;
const DAY = 86400;
const HOUR = 3600;
const HALF_HOUR = 1800;
const QUARTER_HOUR = 900;
const FIVE_MINUTES = 300;
const MINUTE = 60;
const INFINITE = 0;
/**
* Lists all cache keys
*
@ -46,7 +36,7 @@ interface ICache
*
* @return bool
*/
public function set($key, $value, $ttl = self::FIVE_MINUTES);
public function set($key, $value, $ttl = Cache::FIVE_MINUTES);
/**
* Delete a key from the cache

View file

@ -3,7 +3,6 @@
namespace Friendica\Core\Cache;
use Exception;
use Friendica\Core\Cache;
use Friendica\Core\Config\Configuration;
use Memcache;
@ -12,7 +11,7 @@ use Memcache;
*
* @author Hypolite Petovan <hypolite@mrpetovan.com>
*/
class MemcacheCache extends AbstractCache implements IMemoryCache
class MemcacheCache extends Cache implements IMemoryCache
{
use TraitCompareSet;
use TraitCompareDelete;
@ -48,7 +47,7 @@ class MemcacheCache extends AbstractCache implements IMemoryCache
*/
public function getAllKeys($prefix = null)
{
$keys = [];
$keys = [];
$allSlabs = $this->memcache->getExtendedStats('slabs');
foreach ($allSlabs as $slabs) {
foreach (array_keys($slabs) as $slabId) {
@ -72,7 +71,7 @@ class MemcacheCache extends AbstractCache implements IMemoryCache
*/
public function get($key)
{
$return = null;
$return = null;
$cachekey = $this->getCacheKey($key);
// We fetch with the hostname as key to avoid problems with other applications

View file

@ -3,7 +3,6 @@
namespace Friendica\Core\Cache;
use Exception;
use Friendica\Core\Cache;
use Friendica\Core\Config\Configuration;
use Memcached;
use Psr\Log\LoggerInterface;
@ -13,7 +12,7 @@ use Psr\Log\LoggerInterface;
*
* @author Hypolite Petovan <hypolite@mrpetovan.com>
*/
class MemcachedCache extends AbstractCache implements IMemoryCache
class MemcachedCache extends Cache implements IMemoryCache
{
use TraitCompareSet;
use TraitCompareDelete;
@ -36,6 +35,7 @@ class MemcachedCache extends AbstractCache implements IMemoryCache
* }
*
* @param array $memcached_hosts
*
* @throws \Exception
*/
public function __construct(string $hostname, Configuration $config, LoggerInterface $logger)
@ -75,7 +75,7 @@ class MemcachedCache extends AbstractCache implements IMemoryCache
if ($this->memcached->getResultCode() == Memcached::RES_SUCCESS) {
return $this->filterArrayKeysByPrefix($keys, $prefix);
} else {
$this->logger->debug('Memcached \'getAllKeys\' failed', ['result' => $this->memcached->getResultMessage()]);
$this->logger->debug('Memcached \'getAllKeys\' failed', ['result' => $this->memcached->getResultMessage()]);
return [];
}
}
@ -85,7 +85,7 @@ class MemcachedCache extends AbstractCache implements IMemoryCache
*/
public function get($key)
{
$return = null;
$return = null;
$cachekey = $this->getCacheKey($key);
// We fetch with the hostname as key to avoid problems with other applications
@ -94,7 +94,7 @@ class MemcachedCache extends AbstractCache implements IMemoryCache
if ($this->memcached->getResultCode() === Memcached::RES_SUCCESS) {
$return = $value;
} else {
$this->logger->debug('Memcached \'get\' failed', ['result' => $this->memcached->getResultMessage()]);
$this->logger->debug('Memcached \'get\' failed', ['result' => $this->memcached->getResultMessage()]);
}
return $return;

View file

@ -2,7 +2,6 @@
namespace Friendica\Core\Cache;
use Friendica\Core\Cache;
use Friendica\Core\System;
use Friendica\Util\Profiler;

View file

@ -3,7 +3,6 @@
namespace Friendica\Core\Cache;
use Exception;
use Friendica\Core\Cache;
use Friendica\Core\Config\Configuration;
use Redis;
@ -13,7 +12,7 @@ use Redis;
* @author Hypolite Petovan <hypolite@mrpetovan.com>
* @author Roland Haeder <roland@mxchange.org>
*/
class RedisCache extends AbstractCache implements IMemoryCache
class RedisCache extends Cache implements IMemoryCache
{
/**
* @var Redis

View file

@ -2,8 +2,6 @@
namespace Friendica\Core\Cache;
use Friendica\Core\Cache;
/**
* Trait TraitCompareSetDelete
*

View file

@ -2,8 +2,6 @@
namespace Friendica\Core\Cache;
use Friendica\Core\Cache;
/**
* Trait TraitCompareSetDelete
*