2

Redis や LokiJS (見栄えが良い) のようなものを使用するのではなく、アプリの実行時にメモリ内に大きな JavaScript コレクションを作成し、代わりにクエリを実行することはできますか?

4

1 に答える 1

0

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/

これは非常に人気のあるゲームです。では、なぜ彼らはあなたのポジション、スコア、または名前をプレイ中にデータベースに保存するのでしょうか? これには非常にコストがかかります。

于 2015-10-30T12:19:44.080 に答える