Смысл такой что с клиента приходят их геоданные. Мне их надо где-то хранить на бэке, и по websocket'у отдавать другим клиентам, чтобы у них в реальном времени на карте метки двигались.
Подумал для хранения такого рода данных использовать Redis(основная бд - postgres). В этом, собственно, и заключается вопрос. Оптимальное ли это решение? Если да, то в каком формате лучше хранить? Просто еще надо на клиент отдавать не все геоточки, а только те, которые находятся в непосредственной близости. И будет ли хорошей практикой итерироваться по записям Redis'а и проверять на каком расстоянии находится каждая геоточка от конкретного местоположения? Не будут ли проблемы с производительностью когда точек станет больше?
Первое что в голову приходит - в ключе хранить id пользователя, а в значении - его геоточка. Так же есть вопрос по поводу доп данных пользователя вроде username и т. п.: стоит ли хранить эти данные непосредственно в Redis'е(в значении рядом с геоточкой), чтобы не ходить в postgres и получать их по id-шнику?
Для координат можно ещё postGis плагин для postgres использовать. Если нужны будут манипуляции с координатами, поиски пересечений, вхождения в область и прочее
Обсуждают сегодня