galynsky
@galynsky

Где лучше хранить контент?

Откуда правильно подгружать контент, из базы MySQL или из файла? По моему хранить весь код
от <body> до </body> в базе MySQL неправильно. Что подскажите?
  • Вопрос задан
  • 3305 просмотров
Решения вопроса 3
@stas3572
Конечно из базы! Также стоит задуматься о хранении скриптов и стилей в отдельных табличках.
Выгода: колоссальная, вы только представьте в вашем index.php будут в итоге всего лишь несколько запросов к базе - на подключение разметки/шаблона, скриптов и стилей, а не всякий лапшакод из html, js, css и php вперемешку
Ответ написан
Код храним только в файлах. Хранение в базе изначально не продуманная идея.
- Во-первых, текстовые данные (код) нехило ломает кэширование MySQL.
- Во-вторых, доступ к файлам гораздо быстрее.
- В-третих, когда код находиться в базе становиться весьма проблематичным его модифицировать.
- В-четвёртых, лучше использовать Sphinx для поиска по файлам, чем поиск по базе.
Ответ написан
dimsog
@dimsog
Переносил код с PHP 4 на 7.4...
Хм, зачем код хранить в базе? MySQL создан как раз для того, чтобы хранить контент.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@cloud-habr
некоторый вывод з базы храню в файлах кеша (например настройки или сео или же статьи)
$myrow[$i] = $cache->read($server.'cache/'.$var.'.tmp');
if (empty($myrow[$i])) {
запрос к базе
$cache->write($server.'cache/'.$var'.tmp', $myrow[$i]);
}


сам клас
class Cache {

    function read($fileName) {
	if (file_exists($fileName)) {
	    $handle = fopen($fileName, 'rb');
	    $variable = fread($handle, filesize($fileName));
	    fclose($handle);
	    return unserialize($variable);
	} else {
	    return null;
	}
}

    function write($fileName,$variable) {
        $handle = fopen($fileName, 'a');
        fwrite($handle, serialize($variable));
        fclose($handle);
    }

    function delete($fileName) {
        @unlink($fileName);
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы