노드에서 버퍼는 바이너리 데이터를 메모리에 저장하는 데 사용됩니다. TCP 스트림이나 파일 스트림을 처리할 때 캐시 영역으로 사용할 수 있습니다. 특히 사용되는 바이너리 데이터를 저장하는 데 사용됩니다. nodejs는 데이터 전송 시간을 제어할 수 없습니다. .보내기 시간까지 도착하지 않으면 데이터가 전송될 때까지 데이터가 버퍼에 저장됩니다.
이 문서의 운영 환경: Windows 10 시스템, nodejs 버전 12.19.0, Dell G3 컴퓨터.
노드 애플리케이션에서는 네트워크 프로토콜 처리, 데이터베이스 운영, 사진 처리, 업로드된 파일 수신 등을 처리해야 합니다. 네트워크 스트림 및 파일 운영에서는 많은 양의 바이너리 데이터가 있으며 버퍼는 바이너리 데이터를 저장하기 위해 메모리 영역(처음 8KB로 초기화)을 엽니다.
위 작업 중에 데이터 흐름이 있습니다. 최소 또는 최대 데이터 양
데이터가 도착하는 속도가 프로세스 소비 속도보다 빠르면 일찍 도착한 소수의 데이터가 처리를 기다리는 대기 영역에 있게 됩니다. 반대로 데이터가 프로세스에서 소비하는 데이터보다 느리게 도착하면 먼저 도착한 데이터가 처리되기 전에 일정량의 데이터가 도착할 때까지 기다려야 합니다. 여기서 대기 영역은 버퍼(Buffer)를 의미합니다. )는 컴퓨터의 버퍼입니다. 일반적으로 컴퓨터의 RAM에 있는 작은 물리적 장치입니다.
간단히 말하면 Nodejs는 데이터 전송 시기만 결정할 수 있습니다. 전송 시간이 아직 도착하지 않은 경우 데이터는 전송될 때까지 Buffer, 즉 RAM에 저장됩니다. 위에서 언급한 것처럼 Buffer는 각 항목을 배열로 저장하는 데 사용됩니다. 배열은 8비트 바이너리를 저장할 수 있습니다: 00000000, 또한 그것은 단지 바이트입니다.
바이너리 데이터를 저장하기 위한 버퍼 영역을 생성하는 데 사용되는 버퍼 클래스를 정의합니다.
TCP 스트림 또는 파일 스트림을 처리할 때 바이너리 데이터는 반드시 사용됩니다. 따라서 Node.js에서는 바이너리 데이터를 저장하기 위한 버퍼 영역을 생성하는 데 사용되는 Buffer 클래스가 정의됩니다.
Buffer 클래스 만들기Node Buffer 클래스는 다양한 방법으로 만들 수 있습니다. 방법 1
10바이트 길이의 Buffer 인스턴스 생성:
var buf = new Buffer(10);
방법 2
지정된 배열에서 Buffer 인스턴스 생성:
var buf = new Buffer([10, 20, 30, 40, 50]);
방법 3
문자열에서 Buffer 인스턴스 생성:
var buf = new Buffer("bianchengsanmei", "utf-8");
utf-8은 기본 인코딩이며 "ascii", "utf8", "utf16le", "ucs2", "base64" 및 "hex" 인코딩도 지원합니다.
추천 학습: "
nodejs 비디오 튜토리얼"
위 내용은 노드에서 버퍼의 용도는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!