Перейти к публикации

Проверка при оценке новостей через куки, а не через базу


Рекомендованные сообщения

Ребята, есть сайт на DLE 9.2 http://statusy.su

Если посетитель проголосовал за новость, то скрипт engine/ajax/rating.php коннектится с базой, проверяет ip, если такого ip нет, то учитывает голос и записывает ip в базу.

Можно ли изменить эту процедуру - чтобы ip не писался в базу.

Я предполагаю это так: посетитель проголосовал и ему в куки записалось, что он проголосовал за такую-то новость, а проверяющий скрипт при новой оценке новости не коннектится с базой, а просто проверяет куки.

Работу готов оплатить.

Ссылка на сообщение
Поделиться на других сайтах

1 запрос который несет очень маленькую нагрузку убрать? смысла не будет.

Вот поиск отключить - вот будет вам экономия

Ссылка на сообщение
Поделиться на других сайтах

a1ex , спасибо за ответ.

Поиск итак отключен.

Таблица с ip проголосовавших посетителей на сайте http://statusy.su вчера составляла 300000 строк и весила 21 Мб (таблицу очистил).

Голосует в день около 1000 человек.

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

Ссылка на сообщение
Поделиться на других сайтах

Так если у вас это основная функция... конечно все будут тыкать.

1. Нельзя сделать в куках, т.к. туда не запишешь все новости по которым тыкал юзер.

2. Если заниматься оптимизацией, то надо вместо VARCHAR заюзать 4 поля BYTE тогда поиск будет легче, но это капля в море...

Проще уж на хостинг по мощнее перейти

Ссылка на сообщение
Поделиться на других сайтах

a1ex , спасибо за совет про BYTE.

Есть еще решение по сокращению размера таблицы с ip проголосовавших.

Можно по крону раз в неделю очищать таблицу с ip.

За неделю эта таблица вырастает, например, до 7000 строчек.

В ночь с субботы на восресенье кроном запускается скрипт, который:


mysql_query ("TRUNCATE TABLE dle_logs", $db) or die(mysql_error());

Ребята, подскажите, пожалуйста, как реализовать такой скрипт.

То есть как запустить скрипт, например, clear.php, который получил бы переменные из стандартных файлов конфигурации DLE?

Наверное, можно частично повторить скрипт autobackup.php, который уже есть по умолчанию.

Изменено пользователем rax
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...