PHP: самый эффективный способ отслеживать, находится ли пользователь в сети?

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

// SQL user table:
user {
  "name": "blah blah",
  "email": "derpy@derpyderp.com",
  "online": false
}

Таким образом, всякий раз, когда пользователь входит в систему, я мог обновить его онлайнстолбец до true. Однако это в конечном итоге приведет к тому, что SQL-запросы будут выполняться каждый раз, когда пользователь входит в систему, и если случится, что я получу, скажем, 10 входов в секунду, ну, это будет много запросов. Я решил, что могу сделать то же самое другим способом, но в другой таблице:

// Activity table:
activity {
  "user_id": 2,
  "online": true
}

По какой-то причине я считаю, что это приведет к меньшему потреблению памяти из-за отделения от таблицы user. Однако я не уверен, что это действительно повлияет на производительность.

Так что, если бы вы могли благословить меня своим пониманием, я был бы более чем благодарен, спасибо.

9
задан Brandon 25 May 2012 в 04:19
поделиться