Надо как-то определять момент «выхода» пользователя. Будь то таймаут после последнего действия или регулярный ping.
Для временных, недолго живущих данных, можно порекомендовать любую
базу данных в оперативной памяти. Кроме того
MySQL умеет хранить таблицы в памяти.
И да, согласен с предыдущим оратором, самым элегантным решением, по-моему, является Redis. Он, в т.ч., умеет хранить данные с заданным временем жизни – если вы выберете вариант с таймайтом после последнего действия.