因此,我正在研究远程方法,并且正在思考逻辑挑战:
当每次调用远程方法时,我不想存储每次要重新查询数据库的信息,而是要存储我要返回给远程方法调用者的响应对象。
只要数据库中的数据不变,远程调用的响应就始终相同,因此不需要数据库调用。
答案 0 :(得分:1)
是否存在存储此类变量(可以包含大量数据)的方法,以便该变量可用于其他远程方法和/或以后对同一方法的调用?
server/boot/storage.js
module.exports = (server) => {
server.variable = 'thing I want to store';
}
server/boot/storage-methods.js
module.exports = (server) => {
server.models.Model1.accessGlobalStorage= async () => {return server.variable};
server.models.Model2.accessGlobalStorage= async () => {return server.variable};
// Insert remote method definition here
}
我认为方向很奇怪吗?
不,这是redis之类的许多事物背后的想法,这是一种更常规且可扩展的方式来完成您的工作。
在客户端上管理此类问题并减少REST API调用会更好(我还会尽量减少这种情况)?
http://wiki.c2.com/?PrematureOptimization
程序员浪费大量时间来思考或担心程序非关键部分的速度