Здравствуйте, делаю сайт на nodeJs и postgresql, для авторизации использую сессии и для хранения кеша Redis. Как можно реализовать функцию когда пользователь последний раз был онлайн?
При каждом действии/авторизации/чем-то еще пользователя записывайте в базу, что он был онлайн. После этого Вы можете использовать эту информацию там, где это понадобится.
Алексей Казаков, Я понял, сделать в таблице поле, но например срок жизни сессии неделя, и когда она закончится, то пользователю нужно заново авторизоваться и в этот момент я обновлю поле последний раз онлайн, так?
jenya7771, не так понял Ваш вопрос сначала. Если нужна большая точность, событие, при котором обновляются данные, можно менять. Можно обновлять даже при каждом переходе/запросе, если это нужно.
Сделайте websocket, в котором при первом соединении сбрасывается метка онлайна, а при потере соединения и отсутствии других активных - ставится метка последней активности