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

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

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

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

select * from material where innertext like '%xdan.ru%' or title like '%xdan.ru%' limit 10;

Она отлично работает, на сайтах с небольшой аудиторией и небольшим объемом информации. Но что если сделать то же самое для поиска из таблицы в несколько тысяч записей?

Если вы вспомнили про индексы, то они вам тут не помогут. Тот факт, что поиск ведется по всему полю %, а не с его начала, уже делает использование индексов невозможным. Т.е. запрос выше, тупо перебирает все строки и  ищет соответствие. В больших таблицах это может занимать длительное время.  Как же быть? Google нам сообщает, что есть такой зверь: полнотекстовый индекс и полнотекстовый поиск.

По мере роста популярности ресурса, которым я заведую, нагрузки на сервер возросли кратно. Описанные ранее техники оптимизации исчерпали свой ресурс. Все индексы были созданы, все limit проставлены и из всех select'ов пропали звезды. Этого хватило не надолго. Через какое-то время, обычные запросы начали работать, как за 0.0002 сек, так и за 5. Как ускорить загрузку страницы в несколько раз?

Как в php конвертировать bb коды в html​С недавних пор, читатели моего блога могут комментировать статьи используя bb коды. До этого на сайте была собственная система парсинга комментариев. Она часто работала не корректно и имела кучу дыр. несколько раз пользователи блога демонстрировали мне, как легко на сайте можно разместить вредоносный JavaScript, осуществляя инъекцию. Поразмыслив, решил, что для моего проекта отлично подойдут bb коды. Для этого нашел библиотеку на сайте phpclasses, который github был наверно одним из основных источников готовых решений. 

Класс с говорящим названием BBCode. Скачать его можно с моего сайта.

В аську постучал один из читателей этого блога, и заказал универсальный парсер сайтов. Парсер должен был уметь грабить произвольный сайт и выдирать из него всю текстовую информацию. Кроме того, он должен найти все ссылки на сайте и пройти по ним. У парсера должна быть настройка, ограничивающая число страниц, которое он парсит за один раз. Цена была небольшой, но и задание само по себе несложное. Итак, приступим

Подкатегории

Все о разработке на фреймворке Yii