PHP/MySQL | Как вы думаете (Оптимизация с кеш)
Чтобы не постоянно вызывать к базу сделал так, но ошутимо не меняет даже без кеша...
/**
* @return Component[]
*/
public function getComponents()
{
$components = LoadCache(60, 'components_', basename($this->component_class));
if (!$components) {
self::$_connection_load->execute([':type' => basename($this->component_class)]);
$components = self::$_connection_load->fetchAll(PDO::FETCH_ASSOC);
SaveCache($components, 'components_', basename($this->component_class));
}
if (!$this->components) {
foreach ($components AS $component) {
/**
* @var Component $class
*/
$class = new $this->component_class;
$class->setName($component['name']);
$class->setType($component['type']);
$class->setSystem($component['system']);
$class->setInstalled($component['installed']);
$class->setEnabled($component['enabled']);
$class->setConfig($component['config']);
$this->components[$component['name']] = $class;
}
}
return $this->components;
}
________
посл. ред. 23.08.2017 в 14:00; всего 2 раз(а); by [J]ungle
/**
* @return Component[]
*/
public function getComponents()
{
$components = LoadCache(60, 'components_', basename($this->component_class));
if (!$components) {
self::$_connection_load->execute([':type' => basename($this->component_class)]);
$components = self::$_connection_load->fetchAll(PDO::FETCH_ASSOC);
SaveCache($components, 'components_', basename($this->component_class));
}
if (!$this->components) {
foreach ($components AS $component) {
/**
* @var Component $class
*/
$class = new $this->component_class;
$class->setName($component['name']);
$class->setType($component['type']);
$class->setSystem($component['system']);
$class->setInstalled($component['installed']);
$class->setEnabled($component['enabled']);
$class->setConfig($component['config']);
$this->components[$component['name']] = $class;
}
}
return $this->components;
}
________
посл. ред. 23.08.2017 в 14:00; всего 2 раз(а); by [J]ungle
[J]ungle, актуально только для SSD дисков, на обычных дисках не даст прироста производительности.
memcache следует для этого использовать
файловый кеш никогда не будет быстрее RAM (разве что примонтировать ramfs)
файловый кеш никогда не будет быстрее RAM (разве что примонтировать ramfs)
Mobiaaa, А точно, о нем забыл хД.