Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Войти
 
Страницы: Пред. 1 2
RSS
Пишем свой форум, принцип отметки о прочтении
 
Народ, одного понять не можете, если много юзверей и тем, то:
1) каждому юзверю писать прочитанные или не прочитанный id тем - нагрузка
2) прописывать у каждой темы id юзверей которые прочитали её или не прочитали - нагрузка
Списки то большие могут оказаться :) Нада чота думать блин :)))) С сессиями придумал но немного не вариант, так как могут енкоторые темы всё же утеряться в прочтении :)
 
Цитата
Dollor пишет:
1) каждому юзверю писать прочитанные или не прочитанный id тем - нагрузка2) прописывать у каждой темы id юзверей которые прочитали её или не прочитали - нагрузка
О какой великой нагрузке может идти речь? Эта ж на сколько ресурс должен быть популярен, чтобы количество залогиненных пользователей вызывали нагрузку, тема актуальна только для зарегистрированных пользователей верно?! Даже здесь на секлабе, количество "залогиненных" юзверов за момент времени, колеблется от 10-15... при всей популярности ресурса
 
3 000 уникальных в сутки пользователей, из них на форуме зарегистрированных одновременно сидит около 300 и так пастоянно и люди не одни и те же а меняются :)))
 
Dollor,  
 
Disel, сам олень :)))
 
Dollor,  ммдааа... вообще-то это смайл удивления, и куда у народа чувство юмора девается, эх...))
 
да, похоже и правда нужно всё спихнуть на пользователя: в джава-скрипте парсить куки и подставлять нужную картинку...
- никакой (почти) нагрузки на сервер
- у пользователя должны быть включены скрипты
- могут быть лаги в каждом браузере свои
- ограничения на длину кукисов


PS: а если хранить в базе список посещённых в виде строки, а парсить его на клиенте (передавать не в куках, а в html)?
 
Цитата
PS: а если хранить в базе список посещённых в виде строки, а парсить его на клиенте (передавать не в куках, а в html)?

Нифифа нипоняль))
 
А ведь можно просто сделать - создать в таблице тем поле last_update и при заходе юзера сравнивать его время последней авторизации(старое время куданить в переменную сессии а потом обновлять это поле) (не время последнего обращения к форуму). И подсвечивать темы уже по системе "новые сообщения со времени вашего последнего посещения:". Тоесть так юзер будет видеть сообщения со времени его последней сессии. Но '-' такого подхода в том что если он закроет браузер и зайдёт ещё раз то усё, все темы будут якобы прочитаны.
 
kuzya, да вариант не плохой, но как ты и сам сказал, закрыл браузер-всё почитано :(
 
Помоему так работает phpBB 2.*.
Не очень удобно канешн, но приемлимо т.к. если действовать по системе "писать прочтения каждого сообщения в базу" то СУБД будет сильно нагружаться при большом обьёме посетителей...
Народ..а что если использовать для этого текстовую базу или XML?
То есть в XML-евскую БД писать какой юзер что прочёл а потом с помощью X-path запроса доставать оттудо данные для конкретного юзера..
Общение с файлами ведь намного быстрее чем с базой.
 
kuzya, не стыдно такую фигню говорить? парсинг xml'я быстрее, чем получение данных из базы? база на то и сделана, чтобы быстро записывать или отдавать данные. файлы-то, конечно, быстрее, но не xml. нет. Твой сервак встанет на колени и запросит пощады, когда ты попросишь его вытащить из файла связей сотни тем и тысячи пользователей одну запись.
 
Ок, спс буду знать.
 
Может всё же с сессиями и печеньем химичить? заходит юзверь, в сессию пишем всё что он ещё не читал и ходим по форуму, одновременно проверяем промежуток от прочтённого id скажем 23 он прчоёл дальше тему с id 54 т.е промежуток с id 23-54 не прочтён, его запишем в куки на всякий случай, если в промежутке что-то прочли то пишем другой прмоежуток..и так на недельку например сохраним, потом очистится само..
 
ИМХО сомнительный метод...
 
Ну а чо делать?))))
 
а зачем хранить то что НЕ читал? легче же хранить то что читал? в куках. прочитал - записали. ttl недели две поставить ну или смотря с какой скоростью старые топики "тонут".
Страницы: Пред. 1 2
Читают тему