Накопитель Nodejs в памяти
Как мне хранить данные, которые будут использоваться для всех клиентов на моем сервере? (как сообщения чата)
Ответы
Ответ 1
Сервер, который node.js позволяет вам создавать, является сервером приложений, что означает, что состояние сохраняется между запросом на стороне сервера. Следующий фрагмент демонстрирует это:
var sys = require('sys'),
http = require('http');
var number = 0;
http.createServer(function (req, res) {
console.log(req.method, req.url);
res.writeHead(200, {'Content-Type': 'text/html'});
res.write('<h1>Number is: ' + number + '</h1>');
res.end();
number++;
}).listen(8000);
sys.puts('Server running at http://127.0.0.1:8000/');
Ответ 2
Если вы хотите, чтобы другие функции смотрели на redis-node-client
Ответ 3
Или используйте собственный механизм хранения node (написанный в node.js)
http://github.com/felixge/node-dirty
Ответ 4
Пакет node -cache в настоящее время лучше всего подходит для хранения значений ключей, а также позволяет синхронно, асинхронно хранить/извлекать/удалять ключи.
ссылка npm
Ответ 5
Я написал Bx для этой цели; он дает вам простой кеш в памяти:
- Хранилище с ключом
- Дополнительное завершение любых сохраненных данных
- Поддержка схем с использованием JSON-схемы
Хотя я подключаю свой собственный репозиторий здесь, я могу заверить, что он работает хорошо, и он использовался в производстве в моей собственной компании, Onshape более года без проблем. В конце концов это довольно простой инструмент; не так много здесь.
Однако, если вы сохраняете данные, которые должны быть постоянными, вам понадобится база данных, такая как MongoDB (w/Mongoose), MySQL и т.д., а не кеш, такой как Bx или Redis.