Безопасно ли использовать нелокальные переменные в Node.js? - PullRequest
0 голосов
/ 22 января 2012

Безопасно ли делать что-то подобное в Node.js / Express.js?

// use Object.create(null) so we don't have to worry about key collisons
// see http://www.devthought.com/2012/01/18/an-object-is-not-a-hash/
var theHash = Object.create(null);

exports.store = function (req, res) {
   key = getUniqueKey();
   theHash[key] = req.param('val');
   // finish the request, &c.
}

exports.retrieve = function (req, res) {
   res.end(theHash[req.param('key')]);
}

По сути, я создаю короткий сервис коротких URL, и это выглядело просто ибыстрый способ сделать это.Элементы удаляются из хэша каждые 24 часа, поэтому он не может быть большим.Это безопасно, или мне нужно использовать какую-нибудь базу данных?

1 Ответ

1 голос
/ 22 января 2012

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

Вам лучше использовать Redis для этого, ключ памяти => хранилище значений.Однако то, что вы сделали, не является неправильным, но вы правильно заметили, что хранение локальных ключей «грязно» (по нескольким причинам, но крайне важно, если узел умирает, вы теряете все).

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