node.js — совместное использование сеанса с Redis между Node и переполнением стека.

У меня есть веб-приложение, работающее на PHP через инфраструктуру CakePHP в IIS на компьютере с сервером Windows 2008.

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

В попытке решить эту проблему, я думаю об использовании Node.js для решения этой проблемы и использовании push-уведомлений. Таким образом, каждые 6 секунд узел будет отправлять уведомления всем активным клиентам браузера.

Проблема, с которой я сталкиваюсь, заключается в том, что мой звонок использует зарегистрированный пользователь сессия. (для вызова БД, и как только я получу данные, чтобы обновить сеанс).

я прочел Redis может быть решением для этого, и я видел посты, объясняющие, как поделиться сессией. Но есть кое-что, чего я еще не понимаю:

Как я могу провести сеанс зарегистрированного пользователя?
Должен ли я перебирать все активные сеансы?

Я хочу создать setInterval в узле для запроса БД для каждого зарегистрированного пользователя.

0

Решение

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

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]