@semexion

Как организовать хранение объекта с таймером на сервере без СУБД?

Добрый день задача такая: есть некий объект с таймером обратного отсчета, функционал похожий на чат где есть сообщение(наш объект) с таймером. То есть пользователь(клиент) отсылает через сервер всем активным клиентам новый объект и начинается отсчет. Все бы ничего и таймер мог бы работать у клиента.
Как быть с вновь подключаемыми клиентам или реконекте.
Как организовать хранение на сервере таких объектов с таймером и при новой сессии выдавать клиенту объект и оставшееся время
  • Вопрос задан
  • 147 просмотров
Решения вопроса 5
sergey-gornostaev
@sergey-gornostaev
Седой и строгий
Не знаю, как именно реализована ваша система, но если без СУБД, то первое, что приходит в голову - хранить в памяти серверного процесса дату и время получения "объекта" сервером. Естественно, таймер будет теряться при перезапуске сервера.
Ответ написан
ThunderCat
@ThunderCat Куратор тега Веб-разработка
{PHP, MySql, HTML, JS, CSS} developer
1) Какой-нибудь мемкеш или редис.
2) Файлы, как очевидное решение
3) Поставить самую простую базу, например sqlite
Ответ написан
Комментировать
@AlexanderMi
Software Developer
Метку времени храните и сопутствующую инфу для отсчета, это все и передавайте. А чтобы время было точным у всех можете например UTC использовать.
Ответ написан
@beerchaser
Cookies - не? Клиент создаёт новый объект или инициализирует объект из имеющейся в cookies информации и передает серверу. Сервер проверяет наличие объекта в пуле соединений. Если объект новый - ставит временную отметку и возвращает клиенту в виде cookies. Если объект есть в пуле, сервер считает это реконнектом. Извещение идёт через сервер по пулу соединений. Время начала соединения знает и сервер (из свойств соединений в пуле) и клиент ( из cookies).
Ответ написан
Комментировать
mindtester
@mindtester Куратор тега C#
http://iczin.su/hexagram_48
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы