Как эффективно кэшировать октри в памяти или сеанс с WebApi - PullRequest
0 голосов
/ 25 октября 2019

Я работаю, чтобы дать предложения, основанные на результатах лучевого вещания на сетке. Я делаю это в веб-проекте. Браузер отображает облако точек и при взаимодействии отправляет луч (координаты) на сервер. Сервер должен найти область меша, с которой взаимодействовал пользователь (вот где мне нужно октри) и вернуть некоторые предложения. Проблема в том, что я работаю в архитектуре микросервисов, и мы хотим сохранить ее для простого масштабирования. Из-за отсутствия сеанса в нашей архитектуре мы должны загружать сетку и строить октровое дерево с ним для каждого запроса, что, очевидно, неосуществимо.

Я пытался использовать Redis для кэширования моей сетки. Так что теперь по каждому запросу я читаю меш от Redis и строю октодерево. Он улучшается, но для чтения сетки (до 500 тыс. Полигонов) из кэша по-прежнему требуется 2-3 секунды, не говоря уже о дополнительном времени, необходимом для дальнейших вычислений.

Какие могут быть другие способы иметь октри в памятиво все времена. Или в любом случае я мог бы улучшить это дальше?

...