nodejs本身使用的内存收到v8引擎的限制,大约个把GB的样子,但是资料中说buffer则不受此限制。那么buffer有没有别的什么限制呢?
如果内存足够大,那么是不是只要拓展硬件、操作系统支持,就可以没什么限制地拓展基于buffer的技术方案了?
nodejs本身使用的内存收到v8引擎的限制,大约个把GB的样子,但是资料中说buffer则不受此限制。那么buffer有没有别的什么限制呢?
如果内存足够大,那么是不是只要拓展硬件、操作系统支持,就可以没什么限制地拓展基于buffer的技术方案了?
5 回答4.9k 阅读✓ 已解决
4 回答2.5k 阅读✓ 已解决
2 回答1.8k 阅读✓ 已解决
5 回答2k 阅读
3 回答2k 阅读
1 回答3.3k 阅读
1 回答2.7k 阅读
Buffer 类的实例类似于整数数组,但 Buffer 的大小是固定的、且在 V8 堆外分配物理内存。 Buffer 的大小在被创建时确定,且无法调整。
我认为你的设想是对的,可以写代码创建一个上 G 内存的 buffer 测试一下。另外,搞这么大内存的 Buffer 是为了验证技术点,还是在项目中做存储方案,这可是两个截然不同的问题。
内存储存方案,虽然速度很快,但是服务器掉电,程序异常退出都会导致内存数据的丢失,上 G 的 Buffer 可能会导致上 G 的数据丢失。这个不得不考虑一下。