我正在使用 node.js 将大量数据聚合到 EC2 Micro 实例上的 Firebase 中。该应用程序会扫描许多来源的照片,并维护有关每张照片的元数据的 Firebase,例如 URL、大小、来源、“喜欢”等。
我还更新了一些聚合索引(按日期、按喜欢等)。实际代码非常简单:
var db = new Firebase('https://my.firebaseio.com')
// Whenever the aggregator updates a photo, update the popularity inedx
db.child('photos').on('child_changed', function(snapshot) {
var instagram = snapshot.child('likes/instagram').val() || 0,
facebook = snapshot.child('likes/facebook').val() || 0,
likes = instagram + facebook
// Update popularity index
db.child('index/popularity').child(snapshot.name()).setWithPriority(true, likes)
})
由于我的实例(t1.micro)只有 615mb 的可用 RAM,我的 RAM 用完了,因为 Firebasephotos
在更新时缓存了集合的所有子级。
有没有办法防止 Firebase 用其内存缓存耗尽所有可用的 RAM?