node-addon-sharedmemory
Program description
Use c++ boost's cross-process Shared memory technology to provide nodejs with plug-ins that share memory across processes.
Dependencies
Windows
-
Visual Studio 2017
-
Boost 1.69.0
-
nodejs 12.18.0
-
node-addon-api
-
cmake-js
Linux
No Test
Usages
Basic compile environment configuration, reference: https://github.com/nodejs/node-addon-api, then run:
npm installnode ./test.js
Example
cluster/worker:
const cluster = ;const SharedMemory = ;//const SharedMemory = require("bindings")("SharedMemory");const m = "test.sharememory";const v = "test.sharememory"; if clusterisMaster console; mclear; m; vclear; v; for let i = 0; i < 2; i++ const worker = cluster; worker; cluster; else console; console; console; m; v; process;
test:
var SharedMemory = "SharedMemory";// var SharedMemory = require("bindings")("SharedMemory", 1024); var m = "test.sharememory" 64 * 1024;// Parameter 1, is ShareMemory Name// Set memory size, default size is 64k, minimum size is 1024 bytes. If you want to insert more data, you must set bigger memory size.// If insert error, you must set bigger memory size.m;m;mclear; // You can comment out this linem;m;m;m;m;m;m;console;console;console; xx = mvalue x: 123 ;console; console;console;console; var v = "test.sharememory" 1024;// Same as Map// You can use the same or different name, If the name exists, the memory size is ignored. v;v;vclear; // You can comment out this linev;v;v;v;v;v; v;console;console;console;// console.log(v.name);// console.log(v);