• Кэширование MySQL — MySimpleCache

    Собственно возвращаясь к прошлому посту — "PHP Кэширование MySQL, хочу сказать спасибо всем, кто помог советами.

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

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

    Проект поселился на github.com, маловероятно, но возможно он еще будет обновляться, так что актуальная версия всегда там.
    mysimplecache Кэширование MySQL   MySimpleCache

    Логика работы проста. Что бы закэшировать MySQL запрос, вы подключаете класс и делаете замену стандартных вызовов, на вызовы функций кеширования. Они являются синонимами, а значит вам нужно только перед вызовом дописать название класса.

    При вызове mysql_query, скрипт попытается закешировать данный запрос и либо вернет ссылку на закешированный массив, либо вернет ссылку на ресурс.

    Все последующие операции будут проверять является ли ссылка ресурсом и уже по обстоятельствам будут либо доставать данные из memcache, либо получать их напрямую.

    Буду рад любым комментариям и повторяю еще раз, что крайне не рекомендую прикручивать этот скрипт на сайты которые чуть более серьезнее чем сателит.

    Сюда приходят по следующим фразам

    Похожие записи

  • PHP Кеширование Mysql

    mysql logo PHP Кеширование Mysql

    Други, мне требуется ваша помощь или совет.

    Такая ситуация, есть большая куча сайтов, написанных давным-давно. Они представляют из себя кучу файлов, в которых идет в перемешку php/html/sql запросы. Ни о каких современных паттернах программирования там речи нету. Переписывать эти сайты нет ни времени, ни желания, но они ужастно грузят БД.

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

    Я поразмышлял и решил, что проще всего будет написать класс, который будет содержать в себе ф-ции синомы всех ф-ций для работы с бд.

    mysql_query
    mysql_fetch_assoc
    mysql_fetch_array
    mysql_num_rows
    mysql_result
    ...

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

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

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

    Похожие записи

  • SQL 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.

    join inner 150x150 SQL Joins Виды, типы, различия.

    SELECT * FROM TableA
    INNER JOIN TableB
    ON TableA.name = TableB.name

    id name id name
    — ---- — ----
    1 Pirate 2 Pirate
    3 Ninja 4 Ninja

    Continue reading “SQL Joins Виды, типы, различия” »

    Похожие записи