环回:存储来自远程方法的对象,以便以后在服务器内重用

时间:2019-01-05 19:13:27

标签: javascript database rest loopbackjs

因此,我正在研究远程方法,并且正在思考逻辑挑战:

当每次调用远程方法时,我不想存储每次要重新查询数据库的信息,而是要存储我要返回给远程方法调用者的响应对象。

只要数据库中的数据不变,远程调用的响应就始终相同,因此不需要数据库调用。

  • 是否存在存储此类变量(可以包含大量数据)的方法,因此 它可以用于其他远程方法和/或更高版本 调用同一方法?
  • 我觉得方向很奇怪吗?
  • 在客户端上管理此类问题并减少REST API调用会更好(我还会尽量减少这种情况)?

1 个答案:

答案 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

程序员浪费大量时间来思考或担心程序非关键部分的速度