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

Как добавить кеш к sql запросу?


     21.09.2020    кеширование    Общие вопросы по PHP, Модули, Хаки, MySQL    89

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

Сам подсчет:



Пробовал так добавить кеш, но безуспешно:


Подскажите знающие, как правильно сделать. Спасибо

Ответил: LazyDev


$counttag = dle_cache('counttag', $config['skin'] . $value);

if (!$counttag) {
	$valuecount = $db->safesql($value);
	$counttag = $db->super_query("SELECT COUNT(*) as count FROM " . PREFIX . "_tags WHERE tag='{$valuecount}'")['count'];
	create_cache('counttag', $counttag, $config['skin'] . $value);
}

if( $config['allow_alt_url'] ) $tags[] = "<span><a href=\"" . $config['http_home_url'] . "tags/" . rawurlencode( $url_tag ) . "/\">" . $value . "<span class=\"counttag\">" . $counttag . "</span></a></span>";
else $tags[] = "<span><a href=\"$PHP_SELF?do=tags&amp;tag=" . rawurlencode( $url_tag ) . "\">" . $value . "<span class=\"counttag\">" . $counttag . "</span></a></span>";

4 комментария

LazyDev
PHP-developer

LazyDev - 21 сентября 2020 17:41 -

Полный код в студию, это в цикле происходит насколько понятно из кода?

Мой блог: LazyDev.pro

Если мне не интересен вопрос - не помогаю, и за этим по контактам прошу не писать.

ushkom
Юзер

ushkom - 21 сентября 2020 18:10 -

Это код вывода тегов.
Оригинал:


А это с правкой, с добавлением вывода количество тегов:


LazyDev
PHP-developer

LazyDev - 21 сентября 2020 20:43 -

$counttag = dle_cache('counttag', $config['skin'] . $value);

if (!$counttag) {
	$valuecount = $db->safesql($value);
	$counttag = $db->super_query("SELECT COUNT(*) as count FROM " . PREFIX . "_tags WHERE tag='{$valuecount}'")['count'];
	create_cache('counttag', $counttag, $config['skin'] . $value);
}

if( $config['allow_alt_url'] ) $tags[] = "<span><a href=\"" . $config['http_home_url'] . "tags/" . rawurlencode( $url_tag ) . "/\">" . $value . "<span class=\"counttag\">" . $counttag . "</span></a></span>";
else $tags[] = "<span><a href=\"$PHP_SELF?do=tags&amp;tag=" . rawurlencode( $url_tag ) . "\">" . $value . "<span class=\"counttag\">" . $counttag . "</span></a></span>";

Мой блог: LazyDev.pro

Если мне не интересен вопрос - не помогаю, и за этим по контактам прошу не писать.

ushkom
Юзер

ushkom - 21 сентября 2020 21:33 -

Большое спасибо, все работает

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

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

наверх