Кэширование запросов к базе данных с помощью Node.js - PullRequest
10 голосов
/ 09 февраля 2012

Есть ли реализация кэширования запросов к базе данных (mysql), написанная исключительно на Node.js?

Я пишу веб-приложение для Node и планировал кешировать запросы с помощью memcached, но, подумав об этом, я понял, что, возможно, вместо этого возможно кэширование через отдельный слой Node.js

Объяснить:

Вы можете запрашивать базу данных через сервер узлов на отдельном порту, возвращая данные из памяти, где они доступны, и загружая их в память, где их нет.

Кто-нибудь знает, как Node.js будет сравнивать с memcache с точки зрения скорости возврата для хэшированных массивов? Это несбыточная мечта или что-то, на что я должен смотреть?

Ответы [ 3 ]

5 голосов
/ 09 мая 2013

Я разработал решение для кэширования для частного использования, в котором данные хранятся в общем объекте.Это не было на самом деле кеширование запросов, оно сохраняло конкретные результаты вместо необработанных результатов SQL, упорядоченных по хешам, но оно сохраняло то, что мне было нужно, в памяти и было смехотворно легко написать.

Поскольку я изначально задавал этот вопрос числомрешений для кэширования узлов:

  1. ptarjan / node-cache
  2. tcs-de / nodecache
  3. vxtindia / node-cache
  4. mape / node-caching

Я не использовал ни одного из них, но один из них мог быхорошо бы пригодиться кому-то еще.

Теперь есть также redis и memcached клиентов для узла.

1 голос
/ 11 июля 2015

Я написал модуль node.js, который выполняет кэширование запросов MySQL с использованием memcached.

Модуль называется Memento и доступен по адресу https://www.npmjs.com/package/memento-mysql

Наслаждайтесь!

1 голос
/ 10 февраля 2012

Вы можете определенно реализовать что-то подобное в узле, и это может быть интересный проект, но это зависит от ваших потребностей. Если вы просто делаете это для хобби-проекта, во что бы то ни стало, создайте слой кэширования в узле и попробуйте его. Дайте нам знать, как это идет!

Если это для производственного использования, то я бы рекомендовал придерживаться установленных слоев кэширования (memcached, redis и т. Д.), Поскольку они уже прошли через все трудности роста, связанные с созданием масштабируемой системы кэширования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...