1
はのは、私がノードで動的に作成された配列を持っているとしましょう、と私はHerokuのダイナモ上でそれを実行しています:Herokuのダイノスでどのようにメモリが機能しますか?
var connections = [];
var wm = new WeakMap();
io.sockets.on('connection', function(socket) {
socket.once('disconnect', function() {
connections.splice(connections.indexOf(socket), 1);
socket.disconnect();
console.log("Disconnected: %s sockets remaining.", connections.length);
});
socket.on('idAndApi', (data) => {
wm.set(socket, data);
});
connections.push(socket);
console.log("Connected: %s sockets connected.", connections.length);
});
さて、connections
アレイとwm
weakmapが他のdynos渡って作成することができ可能です。
herokuは各dynoでこれらの変数にまたがることができますか?または、情報を保持するために他のデータ構造(データベースなど)を使用する必要がありますか?
私はそれがミニの例を提供しています参照してください。 'のvar ioは=必要(」 (redhat({host: 'localhost'、port:6379})); '' redhat = require( 'socket.io-redis'); '' しかし、特に英雄に焦点を当てた例がもっと豊富にありますか? –
blog.heroku.comにはまだありませんが(ダイノスとスティッキーセッションでは、ヘロクのsocket.ioを使ってブログ記事を公開しようとしています) – hunterloftis