我正在使用 SailsJS(一个构建在 Express 之上的框架)构建一个服务器,我需要在请求之间将一个对象保存在内存中。我想这样做是因为将它加载到数据库/从数据库加载时间太长。我有什么想法可以做到这一点吗?
这是我的代码:
var params = req.params.all();
Network.findOne({ id: params.id }, function(err, network) {
if(network) {
var synapticNetwork = synaptic.Network.fromJSON(network.jsonValue);
if(synapticNetwork) { ...
具体来说,fromJSON()
函数花费的时间太长,我宁愿在服务器运行时将 synapticNetwork
对象保存在内存中(也就是在服务器运行时加载它)服务器启动并定期保存)。
最佳答案
有很多用于缓存目的的库,其中之一是 node-cache
正如你所提到的。他们都共享相似的 api :
var cache = require('memory-cache');
// now just use the cache
cache.put('foo', 'bar');
console.log(cache.get('foo'))
你也可以实现你自己的模块,并在你需要的地方调用它:
var cache = {};
module.exports = {
put: function(key, item) {
cache[key] = item;
},
get: function(key) {
return cache[key];
}
}
关于node.js - 使用 SailsJS/Express 在请求之间将对象保存在内存中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29172904/