Как делают на форумах "отметить сообщение прочитанным"?
И не обязательно добавлять непросмотренные, можно добавлять для каждой записи мпросмотревших ее юзеров...
Это будет гораздо экономичнее..
получается 10^11 бит нужно хранить
многовато
мпросмотревшихКаких? От этого многое зависит.
Посмотри, по крайней мере в этом форуме я представляю себе так, создается сообщение и на его ид цепляется привязка таблицы с просмотревшими это сообщение пользователями... И пока ты его не посмотрел, у тебя оно отображается непрочитаным (как у анонимуса после того как ты его просмотрел, у тебя твой ид заноситься в таблицу просмотров...
ЗЫ а т.к. просмотр у нас возможен за месяц мах - значит все записи старше месяца удаляются...
Пример реализации - читалка новостей tin, которая именно в таком формате хранит файл .newsrc.
Можно всю эту инфу(о прочитанных сообщениях) в куках на клиенте хранить и обрабатывать только на клиенте
описывать дыры, этот момент поподробнее пожалуста...
fido7.ru.unix.bsd: 1-211503
fido7.ru.unix.prog: 1-17023,17063-17064,17070,17081,17097,17099,17103,17126,17139-17141
,17157,17164,17172,17469-17470,17472-17474,17482,17493,17495,17497,17499-17501,17509,17
526,17547-17549,17553,17692,17694,17697,17699,17702,17704,17711,17719-17720,17722-17724
,17735-17736,17740,17747,17832,17843-17844,17854,17859,17907,17985,17988-17989,18025,18
035,18045,18051,18078,18087-18088,18091-18097,18105,18110,18127,18129,18134,18141-18142
,18144
fido7.ru.unix: 1-117904
fido7.ru.unix.bsd и fido7.ru.unix я читаю полностью, а fido7.ru.unix.prog выборочно.
Я немного думал над этим (чтоб для этого форума адаптировать и более перспективным (cжатие лучше) представляется некий вариант RLE.
unit allocator в FreeBSD.
Вот кстати прикольная реализация аналогичной задачи (но не подходит в данном случае): Оставить комментарий
Elina74
Поискал в инете, нашел, например такое:Т.е. у каждого пользователя в базе данных должна быть запись с номерами сообщений, которые этот пользователь еще не читал. Причем:
1. При создании пользователя эта запись пуста.
2. При разлогинивании эта запись очищается полностью.
3. При добавлении любого сообщения в форум информация о номере этого сообщения записывается в запись каждого пользователя форума.
4. Как только пользователь затребует страницу на которой есть сообщение с номером, который есть в записи, этот номер из записи удаляется.
Если так, то вопрос: как эту запись реализовать в базе данных?