You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Redis的get操作后Node.js变量是否会产生额外内存消耗?

Node.js中Redis.get获取的数据是否占用新内存?

是的,data变量会产生新的内存消耗,不可能直接使用Redis中'key'的原内存地址

原因很明确:

  • Redis是独立运行的进程,拥有专属的内存空间;你的Node.js应用是另一个完全独立的进程,两个进程的内存空间相互隔离,根本无法直接访问对方的内存地址。
  • 当执行await redis.get('key')时,Redis会把目标键对应的数据序列化成可网络传输的格式(比如字符串、二进制数据),通过网络发送给Node.js的Redis驱动;驱动接收到数据后,会在Node.js进程的内存里重新分配空间,把数据解析成JavaScript能识别的类型(字符串、对象等),最终赋值给data变量。

举个直观的例子:如果Redis里存的是字符串"user:123",调用get后,Node.js会在自己的堆内存中创建一个全新的字符串实例,这个实例和Redis进程里存储的那个字符串,是完全独立的两个内存对象,彼此没有任何内存地址上的关联。

内容的提问来源于stack exchange,提问作者huwng

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 23:55:21