nodejs的buffer可以无限使用系统的内存吗?

nodejs本身使用的内存收到v8引擎的限制,大约个把GB的样子,但是资料中说buffer则不受此限制。那么buffer有没有别的什么限制呢?
如果内存足够大,那么是不是只要拓展硬件、操作系统支持,就可以没什么限制地拓展基于buffer的技术方案了?

阅读 4.1k
1 个回答

Buffer 类的实例类似于整数数组,但 Buffer 的大小是固定的、且在 V8 堆外分配物理内存。 Buffer 的大小在被创建时确定,且无法调整。

我认为你的设想是对的,可以写代码创建一个上 G 内存的 buffer 测试一下。另外,搞这么大内存的 Buffer 是为了验证技术点,还是在项目中做存储方案,这可是两个截然不同的问题。

内存储存方案,虽然速度很快,但是服务器掉电,程序异常退出都会导致内存数据的丢失,上 G 的 Buffer 可能会导致上 G 的数据丢失。这个不得不考虑一下。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题