附加firebase云函数或从云函数调用缓存其数据
我有一个前端组件,它由一个图表和几个不同的过滤器组成,允许用户按数据类型进行过滤。但是,他们过滤的数据相对较大,因此我不想将所有数据都加载到网页中,而是使用firebase cloud函数来处理过滤。问题是,用户在使用该组件时通常会进行大量过滤,因此云功能重复下载必要的数据是没有意义的。是否有一种方法可以将云函数“附加”到调用中并使其更新,而无需重新检索数据,或者在不可能的情况下,以某种方式将检索到的firebase数据缓存到云函数可访问的某个位置附加firebase云函数或从云函数调用缓存其数据,firebase,caching,firebase-realtime-database,google-cloud-functions,Firebase,Caching,Firebase Realtime Database,Google Cloud Functions,我有一个前端组件,它由一个图表和几个不同的过滤器组成,允许用户按数据类型进行过滤。但是,他们过滤的数据相对较大,因此我不想将所有数据都加载到网页中,而是使用firebase cloud函数来处理过滤。问题是,用户在使用该组件时通常会进行大量过滤,因此云功能重复下载必要的数据是没有意义的。是否有一种方法可以将云函数“附加”到调用中并使其更新,而无需重新检索数据,或者在不可能的情况下,以某种方式将检索到的firebase数据缓存到云函数可访问的某个位置 exports.handleChartData
exports.handleChartData = functions.database.ref("chartData").onCall((data, context) => {
// can I cache data here somehow
// or can I have this function read in updates from user selected filters
// without having to retrieve data again?
}
您可以将数据写入本地
/tmp
磁盘。请注意:
- 无法保证下次数据会在那里,因为实例会根据需要上下旋转。因此,您需要在每次调用时检查该文件是否存在,并准备在该文件不存在时创建它
磁盘空间是一个RAM磁盘,因此在那里写入的任何文件都将从您为云功能容器分配的内存中取出/tmp
- 您无法可靠地在调用期间保持侦听器处于活动状态,因此无法更新缓存
/tmp
磁盘。请注意:
- 无法保证下次数据会在那里,因为实例会根据需要上下旋转。因此,您需要在每次调用时检查该文件是否存在,并准备在该文件不存在时创建它
磁盘空间是一个RAM磁盘,因此在那里写入的任何文件都将从您为云功能容器分配的内存中取出/tmp
- 您无法可靠地在调用期间保持侦听器处于活动状态,因此无法更新缓存