По поводу кеширования "новых сообщений"

Cthulchu
На сайте с 09.09.2011
Offline
50
458

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

К примеру, кто-то любит выбрать себе несколько тематических разделов на форуме и их просматривать на предмет новых тем, остальные игнорируя.

Кто-то другой любит проставить закладки на несколько тем и юзать их.

Кто-то третий любит просматривать главную страницу на предмет тайтлов последних тем по всем разделам.

лично я люблю использовать "новые сообщения". думаю, большинство делает так же, в силу того, что на них ведут две сквозные ссылки с топа каждой страницы форума, одна из них, при этом, сразу под приветствием.

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

Так вот, я получаю эту выборку и начинаю читать оглавления тем. некоторые игнорирую, некоторые читаю, в некоторых отвечаю. в любоим случае, после перехода в тему и прочтения ее/ответа в ней, хочу попасть обратно на выдачу, для чего опять жму на "новые сообщения" но!

Думаю, все догадались, ибо на это наталкивается каждый, кто юзает эту функцию. "60 секунд". С одной стороны, решение, якобы, логично - часть трафика (и я в их числе) отправляется назад, на старую выдачу и продолжает исследовать ее, тем самым, избавляя базу серча от лишних квери. но другая часть трафа, в ожидании прошествия этого времени, сваливает на другие сайтики, из-за чего на серчике понижается количество просмотров реклам и тотальная активность пользователей.

я ниразу не претендую на пост гуру в вебдеве, но меня уже не один день мучает один вопрос: почему нельзя "Новые сообщения" выдавать кешом с бекенда? зачем каждый селект пользователя превращать в квери в базу, если мы можем каждую запись в базу дублировать апдейтом локального, бекенд-кеша и выдавать его последнюю актуальную версию в ответ на запрос юзера? ведь записей на порядок (на два? на три?) меньше, чем просмотров. таким кешом нагрузка на бд снизится даже еще сильнее, чем сейчас, с этим костылем ожидания 60 секунд. И пользователям будет гораздо удобней - никаких ожиданий не нужно. нагрузка при подобном поиске будет такой же, как и от обновления обычной страницы.

Единственный логичный ответ - это что-то, типа, геморности в переписывании кода этой фичи. но ее не надо переписывать. решение на столько простое и очевидное, что для этого уже должны были давно состряпать хаки, учитывая, что булочка - топ1 форумный двиг в мире. А, да, может, такой кеш уже есть и его нельзя стольким клиентам сразу отдавать, потому и задержка :) но мне этот вариант кажется нереальным :)

Теперь, по поводу аналитикса. попробуйте сравнить показатели отказов на странице с другими страницами.

я смею всё, что смеет человек. кто смеет больше, тот не человек.
O
На сайте с 11.02.2011
Offline
106
#1

клон ктулху детектед )

заработай 100$ в день (http://u.to/2HRmCA)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий