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

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


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

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

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

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

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

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

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

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, который уже есть по умолчанию.

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

Архивировано

Эта тема находится в архиве и закрыта для публикации сообщений.

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