Должен ли я использовать текстовый файл или хранить в базе данных в модуле «кто онлайн»?

#php #database

#php #База данных

Вопрос:

У меня есть проект, который должен проверять, кто в Сети. Я думаю о двух способах хранения данных: 1. Сохраните время последнего доступа пользователя к базе данных, подключите пользователя из запроса. 2. сохраните время последнего доступа пользователя, другую информацию в файле, получите файл, удалите пользователя с таймаутом. Каждый раз, когда мы хотим подключиться к Сети, читайте этот файл.

Интересно, какой способ лучше? Или другое лучшее решение? Есть предложения?

Ответ №1:

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

Ответ №2:

Для большинства менеджеров баз данных выполнение запроса в базе данных выполняется быстрее, чем чтение и обработка файла.

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

Ответ №3:

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