我正在尝试为节点应用找到最佳的缓存解决方案.有几个模块可以管理这个.最受欢迎的是: https://www.npmjs.com/package/node-cache 但是我发现如果我将一些结果保存到变量中,响应会更快: va
但是我发现如果我将一些结果保存到变量中,响应会更快:
var cache = ["Kosonsoy","Pandean","Ḩadīdah","Chirilagua","Chattanooga","Hebi","Péruwelz","Pul-e Khumrī"];
然后我可以在固定的时间间隔更新该变量,这也被归类为缓存吗?此方法是否存在任何已知问题/问题.因为它可以提供最快的响应时间.
当然,使用本地内存来存储数据会更快.对于有限的缓存大小,这很好,但可以快速耗尽所有进程内存.
我建议使用模块,因为有大量的协作智能投入其中.或者,您可以使用专用实例来运行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;