(Node.js + express + MongoDB), как оптимизировать часто используемую переменную? - PullRequest
1 голос
/ 15 марта 2012

Я создаю динамический сайт, используя Node.js + express + MongoDB

И есть цифры, которые существуют почти на каждой странице (например, количество пользователей / страниц / статей сайта, отображаемых в нижнем колонтитуле)

, поскольку они существуют на каждой странице, я думаю, что они будут замедлять мой сайт, если я буду вызывать его каждый раз, как перед рендерингом, как не очень полезная переменная.

Я прав?

1.Если так, как оптимизировать этот пробник? использовать dynamicHelpers? как это сделать? есть ли примеры?

2. какой из них лучше? положить их в БД или в файл CONFIG?

Ответы [ 2 ]

0 голосов
/ 15 марта 2012

Поскольку вы используете Монго, вы можете поместить все эти ключи в указатель.

Если ваш документ выглядит так:

doc = {
    'users': 50,
    'page': 10,
    'articles': 20
}

просто сделайте:

db.foo.ensureIndex( {
    'users': 1,
    'page': 1,
    'articles': 1
})

Тогда убедитесь, что вы вернули только эти ключи.

Если они находятся в индексе, Mongo будет считывать эти значения непосредственно из памяти, а не с диска.

Если вместо этого вы хотите запросить что-то вроде _id, просто добавьте _id в качестве первой части индекса и включите остальные элементы в индекс.

http://www.mongodb.org/display/DOCS/Retrieving+a+Subset+of+Fields#RetrievingaSubsetofFields-CoveredIndexes

0 голосов
/ 15 марта 2012

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

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