{"id":21231388,"url":"https://github.com/jakexchan/node-mmkv","last_synced_at":"2025-08-16T23:06:52.047Z","repository":{"id":126562694,"uuid":"521899481","full_name":"jakexchan/node-mmkv","owner":"jakexchan","description":"Base on Tencent MMKV high-performance key-value storage framework. Implement Node.js","archived":false,"fork":false,"pushed_at":"2024-01-25T03:34:08.000Z","size":86,"stargazers_count":9,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-11-20T04:44:40.471Z","etag":null,"topics":["electron","mmkv","nodejs","storage"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jakexchan.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2022-08-06T09:13:55.000Z","updated_at":"2024-11-07T15:52:58.000Z","dependencies_parsed_at":null,"dependency_job_id":"af34b039-118d-4ae5-b1ff-3a1070201d58","html_url":"https://github.com/jakexchan/node-mmkv","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakexchan%2Fnode-mmkv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakexchan%2Fnode-mmkv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakexchan%2Fnode-mmkv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakexchan%2Fnode-mmkv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jakexchan","download_url":"https://codeload.github.com/jakexchan/node-mmkv/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225648988,"owners_count":17502183,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["electron","mmkv","nodejs","storage"],"created_at":"2024-11-20T23:46:40.342Z","updated_at":"2024-11-20T23:46:40.965Z","avatar_url":"https://github.com/jakexchan.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# nodejs-mmkv\n\nBase on [Tencent MMKV](https://github.com/Tencent/MMKV) high-performance key-value storage framework. Implement Node.js.\n\n# Dependencies\n\n- Node.js v16.x, NAPI version 8\n- cmake\n- C++\n\n# Install\n\n```\nnpm install --save-dev nodejs-mmkv\n\n// or\n\nyarn add nodejs-mmkv -S\n```\n\nYou can use it on `Electron`. The first step to setup `cmake` compile configuration:\n\n```\nnpm config set cmake_node_runtime=\"electron\" # eg: node|iojs|nw|electron\nnpm config set cmake_node_runtimeversion=\"x.y.z\" # eg: 18.3.5\nnpm config set cmake_node_arch=\"x64\"  # eg: x64|ia32|arm\n```\n\nand run command on your project\n\n```bash\nyarn install\n\n// or\n\nnpm install\n```\n\n# Usage\n\n```bash\nconst MMKVModule = require(\"nodejs-mmkv\");\nconst path = require(\"path\");\n\nconst mmkv = new MMKVModule({\n  rootDir: path.join(__dirname, \"./mmkv\"),\n  id: \"com.node.mmkv\",\n});\n\n// and you can create multiple instance\nconst logMMKV = new MMKVModule({\n  rootDir: path.join(__dirname, \"./mmkv\"),\n  id: \"com.app.log\",\n});\n```\n\n## API\n\n### constructor(options: MMKVModuleOptions)\n\nMMKVModule constructor, `options` is required.\n\n`options` properties:\n\n- `rootDir`: File saved path.[required]\n- `id`: mmap id, `default: mmkv.default`[optional]\n- `multiProcess`: Enable multi process, `default: false`[optional]\n- `cryptKey`: encryption key[optional]\n- `logLevel`: log level, `default: info`[optional]\n\n### setString: (key: string, value: string) =\u003e boolean | undefined;\n\nSet a string value to storage.\n\n### getString: (key: string) =\u003e string | undefined;\n\nGet a string value from storage.\n\n### setBoolean: (key: string, value: boolean) =\u003e boolean | undefined;\n\nSet a boolean value to storage.\n\n### getBoolean: (key: string) =\u003e boolean | undefined;\n\nGet a boolean value from storage.\n\n### setNumber: (key: string, value: number) =\u003e boolean | undefined;\n\nSet a number value to storage.\n\n### getNumber: (key: string) =\u003e number | undefined;\n\nGet a number value from storage.\n\n### containsKey: (key: string) =\u003e boolean | undefined;\n\nCheck if the given key exists in storage.\n\n### getKeys: () =\u003e string[] | undefined;\n\nGet all keys from storage.\n\n### removeKey: (key: string) =\u003e void;\n\nRemove given key and value in storage.\n\n### clearMemoryCache: () =\u003e void;\n\nClear memory cache.\n\n### clearAll: () =\u003e void;\n\nClear all keys and values in storage.\n\n# License\n\nThis library is licensed under the MIT license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjakexchan%2Fnode-mmkv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjakexchan%2Fnode-mmkv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjakexchan%2Fnode-mmkv/lists"}