我在Node应用程序中使用Map对象来存储登录用户的websocket信息。
我意识到,如果我最终使用像pm2这样的东西,我将面临一些问题,因为一个进程的Map对象中的值将无法从另一个进程中访问。
应用程序本身并不会做太多繁重的工作。它是一个API端点,将查询发送到数据库,并在数据到来时将数据返回给客户端,因此现在水平扩展的需求似乎也很遥远。
从我对Map对象本身所做的“测试”(在Firefox的控制台上迭代一个大的Map对象)开始,我在1000 000个项目上的速度开始变慢,而我的笔记本电脑的规格远不是很壮观。
除了更容易的水平扩展和可能的数据整形的好处之外,我还会错过任何性能方面的东西吗?
发布于 2021-06-22 18:30:22
当您想要加快查询速度时,可以使用
您可以将最后一个数据库结果存储到Redis中,当有新的查询时,首先从Redis中搜索。
当你想要扩展你的内存时,
如果你的Map对象很大,而你的机器不足以满足这一需求。Redis会帮你的
发布于 2021-06-22 19:20:35
回答“何时在javascript中使用Redis而不是Map Object”的问题-当你必须将你的应用扩展到多个实例时,你不能使用Map object,因为它只存在于你创建它的地方,其他实例无法访问。
https://stackoverflow.com/questions/68081766
复制相似问题