Отслеживание статуса «онлайн» пользователя сайта. Бд или кеш?
Ну, во-первых, нужно разобраться: "что есть онлайн"?
Пользователь онлайн, когда:
1. Он обновляет страницу или запрашивает новую
2. Он совершает действия на странице.
3. Вкладка активна.
В зависимости от того, что Вам нужно - далее нужная схема:
1. Сессия, куки, база и т.д.
2. Events & AJAX, web-sockets
3. AJAX + HTML5 Visibility API (Demo)
Возьмите среднее: redis. Очень удобно, юзаю как раз для этих целей. Записываю значение с ttl в 10 минут при любом действии пользователя