2014-01-28 3 views
0

Я разработал реальное приложение времени с Node.js, Socket.io и MongoDB. У этого есть определенное требование, чтобы, когда пользователь загружает определенную страницу, приблизительно 20000 точек с координатами x и y, которые находятся между 2 конкретными датами, извлекаются из mongodb и отображаются на карте клиенту. Теперь, если пользователь снова перезагружается, процесс повторяется. Я смущен тем, как вставлять эти точки в кеш с помощью того ключа, чтобы при перезагрузке пользователя значения из кеша были легко извлечены с помощью ключа. Любые предложения? Благодаря!Как реализовать node-lru-cache?

ответ

0

можно

  1. укомплектовать написать собственный кэширование слой

  2. использовать существующую библиотеку кэширования здесь (например, lru-cache -модуль по Айзекс , который, вероятно, является самым популярным в этой области)

  3. может использовать redis как кэш (имеется возможность установки TTL для вставленного документа s) есть уже mongoose-redis-cache -модуль, возможно, что помогает

и потенциально х других решений. это зависит от масштаба ваших данных/количества запросов и т. д.

0

Кэширование - это то, что ваша база данных делает для вас в этом случае. MongoDB полагается на ввод/вывод памяти для оперативной памяти для хранения. Обычно ОС общего назначения обычно хранит наиболее часто используемые страницы в памяти. Если вы все еще хотите использовать дополнительный кеш, очевидным ключом для использования в координатах будет Geohash.

Смежные вопросы