Я строю простую систему чата с использованием python2.7 (к сожалению, мы не можем использовать более новую версию по многим причинам). В системе много пользователей, которые при входе в систему делают рекурсивный запрос на получение от бэкэнда, чтобы определить, есть ли какие-либо новые сообщения.
поток выглядит так:
1: Javascript навнешний интерфейс вызывает конечную точку на бэкэнде для получения любых новых сообщений. 2: бэкэнд зацикливается на X минут, проверяя либо значение строки базы данных, либо содержимое файла, чтобы определить, есть ли новые сообщения для отправки во внешний интерфейс,если он видит индикатор (в БД или файле), что есть новые сообщения, он затем захватывает эти сообщения и отправляет их внешнему интерфейсу, в противном случае, если он достигает X минут, он возвращает сообщение внешнему интерфейсу об отсутствии новых сообщений 3:Пользовательский интерфейс получает ответ и отображает сообщения, если таковые имеются, а затем отправляет другой запрос на новые сообщения бэкэнду.
Мой вопрос здесь. Который является более эффективным.
Если бы я использовал базу данных, у меня была бы таблица, содержащая только два значения: идентификатор пользователя и логическое значение для определения наличия новых сообщений.
Если бы я использовал файловую систему, у меня был бы файл с именем файла идентификатора пользователя и в нем либо ноль, либо 1, чтобы указать, были ли новые сообщения.