Tips&Tricks, часть 2
MySQL и голосования
Есть набор сообщений/новостей/чего_угодно, за которые посетителям предлагается проголосовать. Один посетитель (логин/IP) может проголосовать за один элемент только один раз.
Не нужно каждый раз, перед добавлением, проверять SELECT-ом, не голосовал ли уже этот пользователь. Почитайте про PRIMARY KEY и UNIQUE, с их помощью задайте условие на уникальность полей. Уберите SELECT, сразу же добавляйте данные в таблицу. Если попытаетесь добавить данные, которые там уже есть — mysql выдаст ошибку.
Кстати, заодно почитайте про то, как эти индексы используются. И если определяете посетителя по IP — не забудьте, что IP нужно хранить в поле типа INT.
Дайте клиенту поработать
Все современные браузеры более-менее поддерживают основные функции JavaScript. Облегчите труд сервера, используя JS на стороне клиента.
Например, если после авторизации в меню добавляются парочка каких-то дополнительных ссылок — с помощью JavaScript проверьте Cookies на предмет присутствия логина/временного ID и добавьте эти ссылки. Так я сделал у себя на finds.ws: сама страница — статичный XHTML, но у авторизированных юзеров отображается немного по-другому.
mod_deflate и аналоги
Наверняка вы слышали про модуль Apache, который сжимает содержимое перед отправкой клиенту — mod_deflate. Во многих дистрибутивах этот модуль включен и настроен по умолчанию. Но часто встречается, что настроено сжатие только содержимого типа text/html. Проверьте свою конфигурацию, добавьте все mime-типы, которые вы используете: настройка mod_deflate. Картинки, конечно же, добавлять не нужно, только текстовые типы. ![]()
Filed under: Технологии |
Tags: mysql, javascript, apache, mod_deflate
Антон, использовать для авторизации Cookies - это самому сделать дыру в безопасности сайта.
2larin: вы, наверное, как-то не так меня поняли.
Что ж еще использовать, как не cookies?!
О какой дыре вы говорите?
Идея с javascript не нова. Таким же образом (через Cookies) у нас реализуется отображение корзины заказов (на совершенно статических страницах магазина). А скрипты обслуживают только партнёрские ссылки и сами заказы. Это значительно снижает нагрузку на сервера. При такой технологии всего два средних по мощности сервера обслуживают потоки в 3-4 миллиона посетителей в сутки.
2Serge: спасибо, что поделились опытом. А про новизну я ничего и не говорил.