データの変更時にコールバックを行うことができるサブスクリプションベースのインメモリデータベースが必要です(テスト用にのみ使用します)。私はgunDBを使用し、それだけでこのように動作します:私はgun1.put
とgun2.get
を交換するときサブスクリプションベースのnosqlインメモリデータベース
var Gun = require('gun');
var key = 'something_long';
var state = { a: 1, b: 2 };
var gun1 = Gun();
var gun2 = Gun();
gun1.put(state).key(key);
gun2.get(key).on(function(val) {
console.log('Value for gun2 (using ".on") is: ');
console.dir(val);
});
が、それは動作しません。これは、キーがない限り、私が実際に購読することができないことを意味します。この例は、(コールバックが呼び出されることは決してありません)動作しません。
var Gun = require('gun');
var key = 'something_long';
var state = { a: 1, b: 2 };
var gun1 = Gun();
var gun2 = Gun();
gun2.get(key).on(function(val) {
console.log('Value for gun2 (using ".on") is: ');
console.dir(val);
});
gun1.put(state).key(key);
私はすべての利用可能なインメモリ・データベースとあまり慣れていないんだ、と誰もが何かを提案することができれば、私は感謝しています。
同じ例がfirebaseために働く:
var Firebase = require('firebase');
var statesRef = new Firebase('https://******.firebaseio.com/states');
var statesRef2 = new Firebase('https://******.firebaseio.com/states');
var key = 'something_very_long';
var data = { a: 1, b: 2 };
statesRef2.on('value', function(dataSnapshot) {
console.dir(dataSnapshot.val());
});
statesRef.set({ key: key, state: data });
Iveは過去にReddisを使ってPHPで作業しました。おそらく、ノードスで利用可能です。 –
@ AndrewDonovan主な欠点は、Redisサーバーを実行している必要があることです。そして、私はテストのためだけにそれを使用します。だから、私にとってはちょっとオーバーヘッドです。 –