Vyrovnávacia pamäť je viac podobná „polu“ JavaScriptu, ale s jedným rozdielom, t. j. jej veľkosť sa po nastavení už nedá zmeniť. Spoločnými funkciami tohto modulu sú zápis, čítanie, porovnávanie, kopírovanie, konvertovanie a mnohé ďalšie. Všetky uvedené operácie je možné vykonávať pomocou jeho vstavaných metód a vlastností.
Tento blog poskytne stručný popis kopírovania, porovnávania a spájania vyrovnávacej pamäte v Node.js.
Začnime operáciou „kopírovať“.
Ako skopírovať vyrovnávaciu pamäť v Node.js?
' Buffer.copy() ” metóda umožňuje užívateľom skopírovať jeden objekt vyrovnávacej pamäte do druhého. Táto metóda ako výsledok vráti novo aktualizovanú vyrovnávaciu pamäť. Fungovanie tejto metódy závisí od jej nasledujúcej syntaxe:
buf. kopírovať ( targetBuffer [ , targetStart ] [ , sourceStart ] [ , zdrojKoniec ] )
Podľa vyššie uvedenej syntaxe metóda „copy()“ plní nasledujúce parametre:
- targetBuffer : Určuje objekt Buffer, ktorého obsah je potrebné skopírovať do iného objektu vyrovnávacej pamäte.
- targetStart : Označuje pozíciu, kde sa spustí operácia kopírovania. Jeho predvolená hodnota je „0“.
- sourceStart : Označuje pozíciu, kde sa spustí operácia kopírovania. Jeho predvolená hodnota je „0“.
- zdrojKoniec : Predstavuje koncovú pozíciu, kde sa operácia kopírovania zastaví. Jeho predvolená hodnota je „koniec vyrovnávacej pamäte“.
Nasledujúci blok kódu ukazuje praktickú implementáciu metódy „copy()“:
bol buf1 = Buffer. od ( '123' ) ;bol buf2 = Buffer. alloc ( 3 ) ;
buf1. kopírovať ( buf2 ) ;
konzoly. log ( 'Obsah Buffer2 je: ' + buf2. natiahnuť ( ) ) ;
Vo vyššie uvedených riadkoch kódu:
- ' od () ” vytvorí objekt vyrovnávacej pamäte so zadanými celými číslami.
- ' alloc() ” metóda vytvára objekt vyrovnávacej pamäte pridelenej veľkosti.
- ' kopírovať () ” skopíruje už existujúci obsah prvej vyrovnávacej pamäte do druhého objektu vyrovnávacej pamäte.
- ' natiahnuť() ” metóda dekóduje skopírovaný obsah do formátu reťazca (človeka čitateľného) a potom ho zobrazí v konzole pomocou „ console.log() “.
Výkon
Vykonajte daný príkaz na spustenie súboru „.js“:
Je možné vidieť, že obsah jednej vyrovnávacej pamäte bol skopírovaný do druhej vyrovnávacej pamäte:
Ako porovnať vyrovnávaciu pamäť v Node.js?
Na porovnanie vyrovnávacej pamäte v Node.js použite vstavaný „ Buffer.compare() “. Táto metóda porovnáva dve vyrovnávacie pamäte a ako štandardný výstup vracia číselnú hodnotu, ktorá zobrazuje definované rozdiely. Tieto číselné hodnoty sú uvedené nižšie spolu s ich definovanými rozdielmi:
- 0 : Nárazníky sú rovnaké.
- 1 : Buffer 1 je väčší ako Buffer 2.
- -1 : Buffer 1 je nižší ako Buffer 2.
Syntax
buf. porovnať ( otherBuffer ) ;Syntax metódy „compare()“ podporuje iba jeden podstatný argument, ktorým je „ otherBuffer “.
Využime vyššie definovanú syntax prakticky:
bol buf1 = Buffer. od ( 'Linux' ) ;bol buf2 = Buffer. od ( 'Linux' ) ;
bol X = Buffer. porovnať ( buf1 , buf2 ) ;
konzoly. log ( X ) ;
bol buf1 = Buffer. od ( 'L' ) ;
bol buf2 = Buffer. od ( 'H' ) ;
bol X = Buffer. porovnať ( buf1 , buf2 ) ;
konzoly. log ( X ) ;
bol buf1 = Buffer. od ( 'H' ) ;
bol buf2 = Buffer. od ( 'L' ) ;
bol X = Buffer. porovnať ( buf1 , buf2 ) ;
konzoly. log ( X ) ;
Vo vyššie uvedených riadkoch kódu:
- ' od () Metódy ” vytvárajú viaceré objekty vyrovnávacej pamäte so zadaným reťazcom.
- ' porovnať () ” metóda porovnáva zadané objekty vyrovnávacej pamäte, ktoré prešli ako jej argument.
- ' console.log() ” zobrazí výsledok metódy “compare()” na konzole.
Výkon
Spustite súbor „.js“ pomocou nižšie uvedeného príkazu:
Číselné hodnoty zobrazené ako výsledný výstup jasne ukazujú definovaný rozdiel:
Teraz prejdite na zreťazenie vyrovnávacích pamätí v Node.js.
Ako zreťaziť vyrovnávacie pamäte v Node.js?
' concat() ” metóda pomáha spojiť viac ako jednu vyrovnávaciu pamäť. Táto metóda spája všetky cieľové vyrovnávacie pamäte v poli do jedného objektu vyrovnávacej pamäte zlúčením ich obsahu.
Syntax
Buffer. konkat ( arr , dĺžka ] )Vyššie uvedená syntax funguje na nasledujúcich dvoch parametroch:
- arr : Určuje pole vyrovnávacích pamätí, ktoré chcú používatelia zreťaziť.
- dĺžka : Označuje dĺžku zreťazenej vyrovnávacej pamäte.
Nasledujúci útržok kódu prakticky spája dané vyrovnávacie pamäte pomocou definovanej metódy „concat()“:
bol buf1 = Buffer. od ( ' \n Linux \n ' ) ;bol buf2 = Buffer. od ( 'webová stránka' ) ;
bol buf3 = Buffer. konkat ( [ buf1 , buf2 ] ) ;
konzoly. log ( 'Obsah Buffer3 je: ' + buf3. natiahnuť ( ) ) ;
Vo vyššie uvedenom útržku kódu:
- ' od () Metódy ” vytvoria dva objekty vyrovnávacej pamäte so zadaným reťazcom.
- ' concat() ” metóda spája špecifikovanú vyrovnávaciu pamäť v poli do objektu vyrovnávacej pamäte.
- ' natiahnuť() ” metóda dekóduje obsah zreťazenej vyrovnávacej pamäte do formátu reťazca (človeka čitateľného) a potom ho zobrazí v konzole pomocou „ console.log() “.
Výkon
Teraz spustite nižšie uvedený príkaz a spustite súbor „.js“:
Výstup zobrazí nový objekt vyrovnávacej pamäte, ktorý sa vytvorí vo výsledku zreťazenia zadaných vyrovnávacích pamätí:
Prebrali sme, ako kopírovať, porovnávať a spájať vyrovnávaciu pamäť v Nodejs.
Záver
Ak chcete skopírovať vyrovnávaciu pamäť v Nodejs, použite „ Buffer.copy() “ a na účely porovnania použite „ Buffer.compare() “. Okrem toho na zreťazenie vyrovnávacích pamätí použite „ Buffer.concat() “. Všetky tieto metódy sú preddefinované, jednoduché a ľahko použiteľné. Tento príspevok poskytuje stručný popis kopírovania, porovnávania a spájania vyrovnávacej pamäte v Node.js.