基于订阅的nosql内存数据库
Subscription based nosql in-memory database
我需要基于订阅的内存数据库,在那里我可以对我的数据更改进行回调(我将仅在测试中使用它)。我使用了gunDB,它只能这样工作:
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);
});
当我交换gun1.put
和gun2.get
时,它不起作用。这意味着在密钥不存在之前,我不能真正订阅。这个例子不起作用(回调永远不会被调用):
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 });
创建单独/多个GUN实例没有用处或必要。
如果你只使用1把枪,一切都会正常工作:
http://jsbin.com/yorujufofe/edit?js,控制台
它也适用于NodeJS。
返回给您的val
对象是一个安全复制的快照,更改它不会影响数据库状态。
我希望这会有所帮助。
相关文章:
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 如何通过php页面将数据库值检索到jquery自动完成框中
- 使用javascript从数据库中添加表
- 通过CSV文件上载更新数据库表
- 平均值:无法将数据更新到数据库
- 如何使用 Angular JS 将数据保存在数据库中
- Rails-JQueryUIAutcomplete和AJAX不工作,可以't连接到数据库
- 在谷歌地图上绘制位置数据库
- PHP:显示sqlite数据库中的html格式数据,使用tinymce保存
- 将地理编码结果转换为php变量以发布到mysql数据库
- 从数据库中检索字段,而不模拟它们
- javascript:将数据库中的数据插入到html5文本字段中
- 从数据库中获取数据并插入JavaScript变量
- JavaScript,PHP-用JavaScript将多个数据库记录发送到变量或表
- 基于订阅的nosql内存数据库
- 计算内存游戏的持续时间并将其发送到数据库
- 使用Multer上传文件,并在解析和上传到数据库之前将其短暂存储在内存中
- 当向数据库插入大量记录时,我应该如何编写节点脚本以最小化内存使用
- Node.js,将对象存储在内存或数据库中
- Express加载时在内存中加载一些数据库数据