我可以保持一个hashmap在nodejs作为一个常数之间的所有文件和刷新它一天一次?



我有一个项目,我必须创建一个全局哈希映射,必须经常查找。这个hashmap存储的是不会频繁更新的表中的值。基本流程是从Postgres表值创建一个哈希图,在项目的其他过程中,必须经常查找这个哈希图以获取值。我使用节点包Hashmap来创建Hashmap。但问题是,我必须创建hashmap每次我查找值。这太费时间了。是否有任何方法,我可以存储这个全局哈希图作为一个全局常量在任何地方,只是在每次查找期间引用变量。我还需要配置这些常量,以便每天刷新和启动项目

我尝试了一种方法,在index.js文件中调用hashmap创建函数并将其存储在常量中。但是每次我查找时都必须重新启动常量,并且每次查找都要调用hashmap创建函数。这不是预期的行为。

我希望hashmap创建函数必须在一天或项目启动时调用一次,并且每次查找都必须引用相同的hashmap,直到第二天/下一个项目启动,以便该过程更具内存和时间效率。

有谁能提出一些解决方案吗?

提前感谢。

可以从map对象创建散列映射

你可以把这个映射放到一个节点全局对象

然后你可以设置一个间隔,每24小时刷新一次哈希映射

global.myHashMap = new Map()
function populateHashMap(){
//clear and populate the map
}
//Initial call
populateHashMap()
const oneDayInMs = 86400000
// set refresh every 24h
setInterval(populateHasMap,oneDayInMs )