Включить кеширование только sql запросов в joomla 2.5

MagistrYoda
На сайте с 21.12.2008
Offline
91
1835

Здравствуйте, по некоторым причинам нельзя использовать стандартное кеширование джумлы, т.к. страницы не должны кешироваться.

Но нужно чтобы запросы к БД кешировались.

Как можно сделать? может есть ли плагин такой ? (вроде для 1.5 раньше был, но сейчас сайт разрабочика не работает.)

Будь Альфой : Сайт Развития Личности : www.BeAlpha.com (http://bealpha.com) Дорогу осилит идущий. Анти Говно Яндекс - АГЯ - Сообщество вебмастеров - https://vk.com/antigovnoyandex (https://vk.com/antigovnoyandex) вступай в группу
VHS
На сайте с 28.09.2007
Offline
142
VHS
#1

БД в основном используется для хранения и получения периодически обновляемой информации.

Все остальное, практически всегда статично.

У Вас все наоборот. Опишите подробнее что Вам нужно.

MagistrYoda
На сайте с 21.12.2008
Offline
91
#2

Нужно чтобы кешировались все sql запросы к бд, их очень много.

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

Был раньше такой плагин Query Cache под j1.0 -1.5 для этих дел, но сейчас офф сайт закрылся. Незнаю откуда его скачать, ато допилил бы до 2.5.

Нашёл эквивалент для 2.5 plgSystemHomepageCache но он работает нормально на apache и не работает под nginx.

A
На сайте с 19.07.2010
Offline
130
#3
MagistrYoda:
Нужно чтобы кешировались все sql запросы к бд, их очень много.

Правильнее бы было настроить кеш запросов на самом MySQL сервере.

Можно еще включить лог медленных запросов и помониторить их. Иногда и один кривой плагин ставит весь сайт на ручник.

Был раньше такой плагин Query Cache под j1.0 -1.5 для этих дел, но сейчас офф сайт закрылся. Незнаю откуда его скачать, ато допилил бы до 2.5.

Вроде это последняя версия, которая была: QueryCache 1.5.0 RC2

.............
MagistrYoda
На сайте с 21.12.2008
Offline
91
#4

Вобщем пока сделал так.

Взял данные из таблицы, для которой было больше всего запросов.

И сделал php файл где эти данные выбираю - case 10: return value;

В том месте, где шли эти запросы, поменял обращение к бд, на вызов этой функции.

Отпрофилировал: количество запросов уменьшилось в 2,5 раза, но скорость выполнения и загрузка памяти не упали.

С кешированием работает явно быстрее (запросов ещё меньше), но неправильно.

Собственно почему решил ставить плагин, а не пользоваться стандартным кешем джумлы - на сервере c nginx как-то неправильно формируется этот кеш.

К примеру у меня модуль, где ссылки на категории, такого формата имя категории/55-город. Так вот после включения кеша - урлы формируются неправильно имя категории/-888-город - Вообще не правильный город и непонятно почему он там появляется, ведь id города берётся из сессии и должно быть 55, а не 888. На старом хостинге где был простой apache - такого глюка не было. Но там сам хостинг был неподходящий.

Просто пока не совсем понимаю механизм кеширования в джумле. Вроде в папке cache появляются полуфабрикаты сгенерированных php/html страниц, а где храняться кешированные sql запросы ? это похоже от хостинга/сервера зависит, на прошлом сервере, кешированые файлы были вообще в другом формате.

---------- Добавлено 26.06.2014 в 12:58 ----------

Может кто нибудь сталкивался, почему nginx генерирует бредовый кеш в джумле ?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий