Skip to content

Commit 3fbe695

Browse files
committed
#23 - Move cache configs into main config
1 parent 9c2a9a0 commit 3fbe695

File tree

4 files changed

+32
-62
lines changed

4 files changed

+32
-62
lines changed

cli/config/cache.php

Lines changed: 0 additions & 30 deletions
This file was deleted.

cli/tasks/ClearcacheTask.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,14 +76,20 @@ private function clearFileCache()
7676
private function clearMemCached()
7777
{
7878
echo 'Clearing data cache' . PHP_EOL;
79-
$options = include appPath('cli/config/cache.php');
79+
$options = [];
80+
if (isset($this->getDI()->getShared('config')->get('cache')->options->libmemcached)) {
81+
$options = $this->getDI()->getShared('config')->get('cache')->options->libmemcached;
82+
}
83+
8084
$servers = $options['servers'] ?? [];
8185
$memcached = new \Memcached();
8286
foreach ($servers as $server) {
8387
$memcached->addServer($server['host'], $server['port'], $server['weight']);
8488
}
8589

8690
$keys = $memcached->getAllKeys();
91+
// 7.2 countable
92+
$keys = $keys ?: [];
8793
echo sprintf('Found %s keys', count($keys)) . PHP_EOL;
8894
foreach ($keys as $key) {
8995
if ('api-data' === substr($key, 0, 8)) {

library/Core/config.php

Lines changed: 13 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -27,34 +27,24 @@
2727
'time' => microtime(true),
2828
],
2929
'cache' => [
30-
'data' => [
31-
'front' => [
32-
'adapter' => 'Data',
33-
'options' => [
34-
'lifetime' => envValue('CACHE_LIFETIME'),
35-
],
36-
],
37-
'back' => [
38-
'dev' => [
39-
'adapter' => 'File',
40-
'options' => [
41-
'cacheDir' => appPath('storage/cache/data/'),
30+
'adapter' => envValue('CACHE_ADAPTER'),
31+
'options' => [
32+
'libmemcached' => [
33+
'servers' => [
34+
0 => [
35+
'host' => envValue('DATA_API_MEMCACHED_HOST', '127.0.0.1'),
36+
'port' => envValue('DATA_API_MEMCACHED_PORT', 11211),
37+
'weight' => envValue('DATA_API_MEMCACHED_WEIGHT', 100),
4238
],
4339
],
44-
'prod' => [
45-
'adapter' => 'Libmemcached',
46-
'options' => [
47-
'servers' => [
48-
[
49-
'host' => envValue('DATA_API_MEMCACHED_HOST'),
50-
'port' => envValue('DATA_API_MEMCACHED_PORT'),
51-
'weight' => envValue('DATA_API_MEMCACHED_WEIGHT'),
52-
],
53-
],
54-
],
40+
'client' => [
41+
\Memcached::OPT_PREFIX_KEY => 'api-',
5542
],
43+
'lifetime' => envValue('CACHE_LIFETIME', 86400),
44+
'prefix' => 'data-',
5645
],
5746
],
47+
5848
'metadata' => [
5949
'dev' => [
6050
'adapter' => 'Memory',

library/Providers/CacheDataProvider.php

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,27 +14,31 @@
1414

1515
use Phalcon\Cache;
1616
use Phalcon\Cache\AdapterFactory;
17+
use Phalcon\Config;
1718
use Phalcon\Di\DiInterface;
1819
use Phalcon\Di\ServiceProviderInterface;
1920
use Phalcon\Storage\SerializerFactory;
20-
use function Phalcon\Api\Core\appPath;
2121

2222
class CacheDataProvider implements ServiceProviderInterface
2323
{
2424
/**
25-
* @param DiInterface $container
25+
* @param DiInterface $di
2626
*/
27-
public function register(DiInterface $container): void
27+
public function register(DiInterface $di): void
2828
{
29-
$container->setShared(
29+
/** @var Config $config */
30+
$config = $di->getShared('config');
31+
32+
$di->setShared(
3033
'cache',
31-
function () {
32-
/** @var array $backOptions */
33-
$options = include appPath('cli/config/cache.php');
34+
function () use ($config) {
35+
$cache = $config->get('cache')->toArray();
36+
$adapter = $cache['adapter'];
37+
$options = $cache['options'][$adapter] ?? [];
3438

3539
$serializerFactory = new SerializerFactory();
3640
$adapterFactory = new AdapterFactory($serializerFactory);
37-
$adapter = $adapterFactory->newInstance($options['adapter'], $options);
41+
$adapter = $adapterFactory->newInstance($adapter, $options);
3842

3943
return new Cache($adapter);
4044
}

0 commit comments

Comments
 (0)