Вопрос
Как сохранить данные, которые будут использоваться для всех клиентов на моем сервере? (как сообщения чата)
Решение
Сервер, который 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/');
Другие советы
Если вы хотите, чтобы больше функций посмотрели на Redis-node-client
Или используйте нативный механизм хранения узлов (написанный в node.js)
узел-кэш В настоящее время пакет является лучшим для хранилища значений ключей, и он позволяет синхронно, а также асинхронное хранение/поиск/удаление ключей.
я написал Бекс Для этой цели; Это дает вам простой кеш в памяти с:
- Ключевое хранилище
- Необязательное истечение по любым хранимым данным
- Поддержка схем с использованием json-schema
Хотя я подключаю здесь свой собственный репозиторий, я могу заверить вас, что он работает хорошо, и он использовался в производстве в моей собственной компании, Onshape более года без проблем. В конце дня это довольно простой инструмент; Не много, чтобы испортить здесь.
Однако, если вы храните данные, которые должны быть постоянными, вам понадобится такая база данных, как Mongodb (с мангуозом), Mysql, и т. д., а не кэш, как BX или Редис.