Я работаю в большом проекте, использующем инфраструктуру Kohana 3, на самом деле мне нужно улучшить его, добавив систему кеша, чтобы уменьшить количество соединений MySQL.
Я думаю о разработке базового (нообщий) модуль для генерации полного кэширования результатов запроса, но отдельно управляет результатами запроса таблицы в разные группы.
Pex:
группы кэша: пользователи, роли, role_users и т. д.
Каждая группа содержит все результаты запроса из соответствующей таблицы.Итак, если я хочу получить значения от 'users', система кеша автоматически добавит результат в систему кеша, но если я обновлю таблицу 'users', все ключи в группе 'users' будут удалены.Я знаю, это не так умно, но это быстро и безопасно (система также генерирует списки пользователей, и результаты могут быть правильными).
Тогда мой вопрос: ¿Где и как я могу сделать «инъекцию»?моего кода в дереве приложения?
Мне нужен, во-первых, (для генерации хеш-ключа) полный запрос (для определенной таблицы, используемой как группа-), и результат этого запроса для хранения.И когда другой хеш (в этой группе) совпадает с сохраненным, значение должно быть получено из memcached.
Итак, мне нужно: имя таблицы, запрос и результат ... Iдумаю, что можно расширить класс Database, реализовать кеш в методе execute (), но я не могу его найти!
Я нахожусь на правильном пути?Где находится метод execute ()?