Спустя 6 минут, 5 секунд (22.03.2011 - 21:05) sergeiss написал(а):
Пишешь в БД запись с указанием времени. Когда разница с текущим временем превышает 20 минут, то записи уже не используешь и можешь удалить.
Так что ответ на твой вопрос: да, можно организовать
Так что ответ на твой вопрос: да, можно организовать
Спустя 38 минут, 42 секунды (22.03.2011 - 21:43) Skesh написал(а):
Ммммм, не совсем понял, то есть в отдельную ячейку записаваем как значение время, тогда сверяемся и если не совпадает - удаляем? Нет не подходит. Нужно чтобы автоматом все было. Зашел пользыватель, вел даные, ушел, через 20 мин. автоматом все удалилось, так можна?
Спустя 5 минут, 46 секунд (22.03.2011 - 21:49) Invis1ble написал(а):
можно, напиши скрипт и запускай его кроном. Имхо, так.
Спустя 5 минут, 44 секунды (22.03.2011 - 21:55) Skesh написал(а):
А средствами PHP?
Спустя 5 минут, 15 секунд (22.03.2011 - 22:00) Snus написал(а):
Skesh
Цитата (Skesh @ 22.03.2011 - 18:55) |
А средствами PHP? |
Тебе же Invis1ble ответил. Если хочешь автоматом (без участия человека) - то только крон. В любом другом случае скрипт кто-то запускать должен.
Спустя 2 минуты, 6 секунд (22.03.2011 - 22:02) sergeiss написал(а):
Invis1ble - тут даже крон не нужен. Можно использовать пользовательские скрипты Чтобы они и выбирали данные менее 20 минутного возраста, и удаляли сразу же те, которые старше 20 минут.
Skesh - объясни, что ты имеешь ввиду под словами "средствами ПХП"? Если ты работаешь с БД, то ВСЁ БЕЗ ИСКЛЮЧЕНИЯ делается в БД!!! Любой код в ПХП только или готовит запрос, или получает данные выборки. Но вся обработка производится внутри БД.
Судя по вопросу, ты с БД пока не работал. Верно? Тогда начни работу с БД, оно тебе пригодится. А там уже в процессе поймешь, что я имел ввиду.
Snus - не будь столь категоричен насчет "только крон"
Skesh - объясни, что ты имеешь ввиду под словами "средствами ПХП"? Если ты работаешь с БД, то ВСЁ БЕЗ ИСКЛЮЧЕНИЯ делается в БД!!! Любой код в ПХП только или готовит запрос, или получает данные выборки. Но вся обработка производится внутри БД.
Судя по вопросу, ты с БД пока не работал. Верно? Тогда начни работу с БД, оно тебе пригодится. А там уже в процессе поймешь, что я имел ввиду.
Snus - не будь столь категоричен насчет "только крон"
Спустя 22 минуты, 28 секунд (22.03.2011 - 22:25) Skesh написал(а):
Признаю, в БД я пока познал основы. sergeiss Позвольте уточнить про пользовательски скрипты: имется ввиду, что когда одинпользователь ушел, то всеравно рано или позно кто-то зайдет насайт, и начнет клацать, и запускать скрипты, туда и добавить код который будет проверять время, и удалять данные, я правильно понял?
Спустя 4 минуты, 59 секунд (22.03.2011 - 22:30) sergeiss написал(а):
Skesh - да, именно так. Прямо перед тем, как данные выбирать для очередного юзера, сделай удаление старых данных.
Если запросы идут хотя бы раз в несколько секунд, то можно придумать систему, позволяющую не при каждом обращении удалять. Потому что нужные тебе данные (моложе 20 минут) ты и так выберешь, а вот удалять столь часто смысла нету. Да и столько частое удаление будет сильно (и не по делу) нагружать БД.
Если запросы идут хотя бы раз в несколько секунд, то можно придумать систему, позволяющую не при каждом обращении удалять. Потому что нужные тебе данные (моложе 20 минут) ты и так выберешь, а вот удалять столь часто смысла нету. Да и столько частое удаление будет сильно (и не по делу) нагружать БД.
Спустя 23 часа, 1 минута, 18 секунд (23.03.2011 - 21:31) Skesh написал(а):
Спасибо всем за советы, вынес много полезного.
Спустя 13 часов, 55 минут, 47 секунд (24.03.2011 - 11:27) Snus написал(а):
sergeiss
Цитата |
Snus - не будь столь категоричен насчет "только крон" smile.gif |
Это ведь был совет как поступить Автору темы, а не обсуждение планировщиков и их кол-во. Есть стандартные варианты решения поставленных задач и выдумывать в данном случае велосипед - глупо.
Цитата |
Можно использовать пользовательские скрипты smile.gif Чтобы они и выбирали данные менее 20 минутного возраста, и удаляли сразу же те, которые старше 20 минут. |
Я тебя правильно понял? - ты предлагаешь, чтобы выполнять скрипт удаления когда юзер зайдет на страницу? - это же не правильно. А если большая посещаемость - к чему лишние нагрузки на мускул? Когда это легко и просто может сделать крон всего 1 раз в некоторый период времени. (в смысле запустить скрипт удаления).
Спустя 23 минуты, 7 секунд (24.03.2011 - 11:50) sergeiss написал(а):
Цитата (Snus @ 24.03.2011 - 12:27) |
ты предлагаешь, чтобы выполнять скрипт удаления когда юзер зайдет на страницу? - это же не правильно |
О том, как это обойти, я написал еще позавчера:
Цитата (sergeiss @ 22.03.2011 - 23:30) |
Если запросы идут хотя бы раз в несколько секунд, то можно придумать систему, позволяющую не при каждом обращении удалять. |
"Можно придумать" не означает, что это сложно Я думаю, что ТС сам сообразит, как именно реализовать.
Цитата (Snus @ 24.03.2011 - 12:27) |
и выдумывать в данном случае велосипед - глупо |
Это вовсе не новый велосипед... А один из двух. Ибо крон - это один велосипед, а запуск внутреннего обработчика при пользовательском обращении - это второй велосипед.
Проблема крона - зачем его запускать для удаления данных, да еще и часто, если в какой-то период будет мало обращений? Второй подход позволяет это обойти, легко и изящно.
Крон же полезен тогда, когда надо что-то делать строго периодически. Например, загружать какие-то данные с некоторых серверов. Например, статистику в БД закачивать. Тут да - крон просто необходим.
Спустя 29 минут, 44 секунды (24.03.2011 - 12:20) Snus написал(а):
sergeiss
Я писал:
Я писал:
Цитата |
А если большая посещаемость - к чему лишние нагрузки на мускул? |
А вот ты написал:
Цитата |
Проблема крона - зачем его запускать для удаления данных, да еще и часто, если в какой-то период будет мало обращений? |
Если посещаемость в 2-3 человека в сутки, то делать такой проект - НЕТ СМЫСЛА.
Спустя 44 минуты, 44 секунды (24.03.2011 - 13:04) sergeiss написал(а):
Цитата (Snus @ 24.03.2011 - 13:20) |
sergeiss Я писал:Цитата А если большая посещаемость - к чему лишние нагрузки на мускул? А вот ты написал:Цитата Проблема крона - зачем его запускать для удаления данных, да еще и часто, если в какой-то период будет мало обращений? Если посещаемость в 2-3 человека в сутки, то делать такой проект - НЕТ СМЫСЛА. |
Snus - не передёргивай Про большую посещаемость я уже 2 раза написал. Один раз 22-го марта, другой раз процитировал свои же слова сегодня.
А тут ты берешь свои слова "об одном", мои слова "о другом" и противопоставляешь их.
Еще обрати внимание на то, что я написал
Цитата (sergeiss @ 24.03.2011 - 12:50) |
если в какой-то период будет мало обращений |
"какой-то период" вовсе не равен суткам. В течение суток, если брать интервалы по 5-10 минут, посещаемость любого сайта будет сильно меняться. Особенно, если мы сравним малонагруженные 5 минут ночью и сильнонагруженные 5 минут днем. Разница может быть на несколько порядков.
Спустя 11 минут, 41 секунда (24.03.2011 - 13:16) Snus написал(а):
sergeiss
Это ты меня не понял. Какая разница: один посетитель будет запускать скрипт, обновляя страницу раз в 10 минут, или это будет делать крон? Разницы нет. А вот с большой посещаемостью, где обновлении страницы в сумме от всех пользователей составляет 500 раз в секунду - будет абсолютно лишняя нагрузка на БД.
Это ты меня не понял. Какая разница: один посетитель будет запускать скрипт, обновляя страницу раз в 10 минут, или это будет делать крон? Разницы нет. А вот с большой посещаемостью, где обновлении страницы в сумме от всех пользователей составляет 500 раз в секунду - будет абсолютно лишняя нагрузка на БД.
Спустя 15 минут, 10 секунд (24.03.2011 - 13:31) sergeiss написал(а):
Snus - я тебя понял как раз Только я четко сказал о том, что при нормальной посещаемости да, разницы нету. И при большой (и при очень большой) посещаемости разницы нету, т.к. программер может контролировать, когда ему делать удаление. Можно же не каждый раз его делать... Сделает анализ времени предыдущего удаления - и будет счастье.
Но плюс в том, что ПРИ МАЛОЙ нагрузке удаление будет запускаться РЕДКО.
Но плюс в том, что ПРИ МАЛОЙ нагрузке удаление будет запускаться РЕДКО.
Спустя 3 часа, 53 минуты, 37 секунд (24.03.2011 - 17:25) Guest написал(а):
оч интересные баталии, боюсь тут нужно поставить конкретную задачю, дабы понять где использовать крон а где временную переменную. Я задал этот вопрос для создания своей системы авторизации. Лень было читать чужие и я написал свою. Идея со временем хороша, но для совершенства нужно добавить привязку по ИП и все норм. А крон тут думаю не уместен.
_____________
*пускает слюну, глядя на код* :)