【问题标题】:NodeJS: Can you use plain Javascript objects as an in-memory datastore?NodeJS:你可以使用纯 Javascript 对象作为内存数据存储吗?
【发布时间】:2016-01-30 19:35:00
【问题描述】:

与其使用 Redis 之类的工具,甚至 LokiJS(看起来很棒),我可以在我的应用运行时在内存中创建一个大型 javascript 集合,然后进行查询吗?

【问题讨论】:

标签: javascript node.js redis in-memory-database lokijs


【解决方案1】:

我有一个使用 socket.io 的具有这种精确模式的应用程序。

下面,我已经翻译了我的 socket.io 代码以使用 HTTP 请求。

在服务器上,你可以这样做:

var players = []; //This will be used to store in-memory players.

他们,

var express = require('express');
var app = express();
var bodyParser = require('body-parser');


app.use(bodyParser.json()); //Need this to populate req.body on requests.
app.all('*', function (req, res, next) {
  res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS');
  next(); //Need this to accept incoming requests.
});


app.get('/players', function (req, res) {
  res.json(players);
});

app.post('/players', function (req, res) {
  //validation
  players.push(req.body);
});

[...]

看这个例子: http://agar.io/

这是一款非常受欢迎的游戏。现在,他们为什么会在比赛时将您的位置、分数或姓名存储在数据库中?这将非常昂贵。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-02
    • 2011-02-15
    • 1970-01-01
    • 2013-09-08
    • 2023-03-15
    • 2016-05-11
    • 2018-05-27
    相关资源
    最近更新 更多