- Июл 06
2010Кэширование MySQL — MySimpleCache
Собственно возвращаясь к прошлому посту — "PHP Кэширование MySQL, хочу сказать спасибо всем, кто помог советами.
По разным причинам, спустя несколько дней после прошлого поста, я все таки сел и написал этот велосипед. Перевел на него десяток говносайтов и наблюдал две недели за их поведением.
Проблем не заметил, все работает хорошо, нагрузка на базу данных значительно упала, а это именно то, что и требовалось.
Проект поселился на , маловероятно, но возможно он еще будет обновляться, так что актуальная версия всегда там.
Логика работы проста. Что бы закэшировать MySQL запрос, вы подключаете класс и делаете замену стандартных вызовов, на вызовы функций кеширования. Они являются синонимами, а значит вам нужно только перед вызовом дописать название класса.
При вызове mysql_query, скрипт попытается закешировать данный запрос и либо вернет ссылку на закешированный массив, либо вернет ссылку на ресурс.
Все последующие операции будут проверять является ли ссылка ресурсом и уже по обстоятельствам будут либо доставать данные из memcache, либо получать их напрямую.
Буду рад любым комментариям и повторяю еще раз, что крайне не рекомендую прикручивать этот скрипт на сайты которые чуть более серьезнее чем сателит.
Сюда приходят по следующим фразам
Похожие записи
- Июн 27
2010PHP Кеширование Mysql

Други, мне требуется ваша помощь или совет.
Такая ситуация, есть большая куча сайтов, написанных давным-давно. Они представляют из себя кучу файлов, в которых идет в перемешку php/html/sql запросы. Ни о каких современных паттернах программирования там речи нету. Переписывать эти сайты нет ни времени, ни желания, но они ужастно грузят БД.
Задача добавить на эти сайты кеширование sql запросов. Переписывать их и править дело очень не благодарное и потребует кучу времени.
Я поразмышлял и решил, что проще всего будет написать класс, который будет содержать в себе ф-ции синомы всех ф-ций для работы с бд.
mysql_query
mysql_fetch_assoc
mysql_fetch_array
mysql_num_rows
mysql_result
...Фишка в том, что они должны внутри себя пробовать кешировать запрос и либо возвразать результат запроса, либо возвращать закешированный результат.
Данная идея мне кажется крутой, так как, она позволит легкой автозаменой включить кеширование на сайте и лишь потом в нужных местах его допилить.
Теперь главное, я уверен что должны быть аналоги, а я пытаюсь изобрести велосипед. Возможно вы сталкивались с такими вещами и их решениями. Ну или просто можете высказать свое мнение по этому поводу. Не поленитесь, буду очень благодарен.
Похожие записи
- Июл 27
2009SQL Joins Виды, типы, различия
В первую очередь шпаргалка для себя, но надеюсь кому нибудь окажется полезным.
Для начала оговорим, что у нас есть две таблицы: Table A и Table B:
id name id name
— ---- — ----
1 Pirate 1 Rutabaga
2 Monkey 2 Pirate
3 Ninja 3 Darth Vader
4 Spaghetti 4 Ninja
Теперь можно рассмотреть, варианты и различия возможных JOIN запросов.
Inner join выведет записи, которые соответствуют таблице A и таблице B.
SELECT * FROM TableA
INNER JOIN TableB
ON TableA.name = TableB.nameid name id name
— ---- — ----
1 Pirate 2 Pirate
3 Ninja 4 NinjaContinue reading “SQL Joins Виды, типы, различия” »
Похожие записи

