Cloud Functions for Firebase:将整个数据库读入内存
Cloud Functions for Firebase: Reading the Entire Database into Memory
我想从后端 Cloud Function 中将整个 Firebase 数据库读取到一个变量中,如下所示:
exports.transformUserData = functions.https.onRequest((request, response) => {
admin.database().ref('/').on('value', function (snapshot) {
var dbData = snapshot.val();
...
});
...
});
这样安全吗? (从内存或美元成本的角度来看,在这种情况下速度不是问题)。
我预计一旦我的数据库由于内存不足错误而增长,该函数将崩溃。如果是这种情况,我们可以预期它会在多大的内存限制下崩溃? (例如,10MB)。
提前感谢您的任何建议!
技术上完全有可能将 Firebase 数据库中的所有数据读入内存。
只要托管进程有足够的可用内存,它就可以工作。如果内存不足,脚本会崩溃。
不可能说这会崩溃多少内存,因为这取决于 JSON 数据大小、数据格式(许多小节点将比一个大节点使用更多内存),以及其他因素。
我想从后端 Cloud Function 中将整个 Firebase 数据库读取到一个变量中,如下所示:
exports.transformUserData = functions.https.onRequest((request, response) => {
admin.database().ref('/').on('value', function (snapshot) {
var dbData = snapshot.val();
...
});
...
});
这样安全吗? (从内存或美元成本的角度来看,在这种情况下速度不是问题)。
我预计一旦我的数据库由于内存不足错误而增长,该函数将崩溃。如果是这种情况,我们可以预期它会在多大的内存限制下崩溃? (例如,10MB)。
提前感谢您的任何建议!
技术上完全有可能将 Firebase 数据库中的所有数据读入内存。
只要托管进程有足够的可用内存,它就可以工作。如果内存不足,脚本会崩溃。
不可能说这会崩溃多少内存,因为这取决于 JSON 数据大小、数据格式(许多小节点将比一个大节点使用更多内存),以及其他因素。