在Node.js中缓存的最佳方法

时间:2014-12-21 14:24:53

标签: node.js caching

我正在尝试为节点应用找到最佳的缓存解决方案。有几个模块可以管理这个。最受欢迎的是:https://www.npmjs.com/package/node-cache

但是如果我将一些结果保存到变量中,我发现响应更快:

var cache = ["Kosonsoy","Pandean","Ḩadīdah","Chirilagua","Chattanooga","Hebi","Péruwelz","Pul-e Khumrī"];

然后我可以在固定的时间间隔更新该变量,这是否也被归类为缓存?此方法是否存在任何已知问题/问题。因为它可以提供最快的响应时间。

2 个答案:

答案 0 :(得分:2)

当然,使用本地内存存储数据会更快。 对于有限的缓存大小,这很好,但可以快速耗尽所有进程内存。

我建议使用模块,因为有大量的协作智能投入其中。或者,您可以使用专用实例来运行Redis以用作缓存。

除了替代方案,如果你坚持使用你的解决方案,我建议小改进。

而不是

var cache = ["Kosonsoy","Pandean","Ḩadīdah","Chirilagua","Chattanooga","Hebi","Péruwelz","Pul-e Khumrī"];

尝试使用对象作为键值存储。

这将使搜索和更新条目更快。

var cache = {"Kosonsoy":data,"Pandean":moreData,...};

在数组中搜索需要迭代,而访问对象就像

一样简单
var storedValue = cache["Kosonosoy"];

保存

cache[key] = value;

答案 1 :(得分:1)

如果你使用many workers,每个人都会有一个重复的缓存,因为它们没有共享内存。

当然,您可以将它用于小数据。将数据保存在变量中一段时间​​可以称为缓存。