mirror of
https://github.com/friendica/friendica
synced 2025-04-30 15:04:23 +02:00
- Move constants to the "Cache" class (more transparent than inside the interface)
This commit is contained in:
parent
34e4968c06
commit
19777baa79
18 changed files with 59 additions and 69 deletions
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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
|
||||
*
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
|
||||
namespace Friendica\Core\Cache;
|
||||
|
||||
use Friendica\Core\Cache;
|
||||
use Friendica\Core\System;
|
||||
use Friendica\Util\Profiler;
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -2,8 +2,6 @@
|
|||
|
||||
namespace Friendica\Core\Cache;
|
||||
|
||||
use Friendica\Core\Cache;
|
||||
|
||||
/**
|
||||
* Trait TraitCompareSetDelete
|
||||
*
|
||||
|
|
|
@ -2,8 +2,6 @@
|
|||
|
||||
namespace Friendica\Core\Cache;
|
||||
|
||||
use Friendica\Core\Cache;
|
||||
|
||||
/**
|
||||
* Trait TraitCompareSetDelete
|
||||
*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue