Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Помогите добавить кеширование к скрипту?

Помогите добавить кеширование к скрипту?


     30.03.2017    Все вопросы » Общие вопросы по PHP    1125

вопрос
В этой теме Sander помог сделать вывод количества новостей в шаблонах сайта, но так как в скрипте не предусмотрено кеширование будет большая нагрузка...

Помогите к приведенному ниже скрипту добавить кеширование

Создать файл engine/modules/countall.php с содержимым:
<?PHP
$c = $db->super_query("SELECT count(*) as c FROM ".PREFIX."_post WHERE approve");
echo $c['c'];
?>

В шаблоне выводить кодом:
Всего новостей: {include file="engine/modules/countall.php"}

Ответил: vitnet


<?PHP

$c = dle_cache("news_count", $config['skin']);

if( !$c || $c === false ) {
	$c = $db->super_query( "SELECT count(*) as c FROM " . PREFIX . "_post WHERE approve='1'" );

	$c = intval($c['c']);
	create_cache("news_count", $c, $config['skin']);
}

echo $c;

?>

9 комментариев

vitnet
PHP-developer

vitnet - 30 марта 2017 15:38 -

***Комментарий удален***

Railway_Academy
Юзер

Railway_Academy - 30 марта 2017 15:46 -

Очередное огромейшее спасибо!!!!

dj-avtosh
PHP-developer

dj-avtosh - 30 марта 2017 18:20 -

Не будет особо нагрузки, потому что mysql кеширует запросы изнутри относительно изменений в information_schema.
А вот с кэшем актуальности будет явно меньше.

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

Railway_Academy
Юзер

Railway_Academy - 30 марта 2017 18:28 -

Цитата: dj-avtosh
Не будет особо нагрузки, потому что mysql кеширует запросы изнутри относительно изменений в information_schema.
А вот с кэшем актуальности будет явно меньше.

Кэш я попросил для того сделать, чтобы не добавлялись запросы при обновлении количества новостей

dj-avtosh
PHP-developer

dj-avtosh - 30 марта 2017 18:30 -

А при чем тут добавление, если в вопросе выборка?

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

Railway_Academy
Юзер

Railway_Academy - 30 марта 2017 18:32 -

dj-avtosh,
Если на сайте добавляется новость при обновлении скрипт будет кидать +1 запрос в базу. По крайней мере мне так объясняли...))

dj-avtosh
PHP-developer

dj-avtosh - 30 марта 2017 18:34 -

А если включен кэш, то будут ли верными результаты запроса, когда они кэшированы?

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

vitnet
PHP-developer

vitnet - 30 марта 2017 18:40 -

Я спецом добавил в название файла кеша префикс news_ так как при доб./удал. кеш сбрасывается.
clear_cache(array('news_', ....

dj-avtosh
PHP-developer

dj-avtosh - 30 марта 2017 18:49 -

Какие-то костыли DLE, я думал он берет кэш с ключом news_count и все...

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

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

наверх