{"id":46068,"library":"recacheman-memory","title":"recacheman-memory","description":"In-memory caching library for Node.js, also usable as a cache engine for recacheman. Version 2.1.0 targets Node.js 20 and 22. Fork of cacheman-memory with active maintenance. Provides promise-based and callback-based API, TTL support, and TypeScript declarations. Differentiated by simplicity and zero external dependencies.","status":"active","version":"2.1.0","language":"javascript","source_language":"en","source_url":"git://github.com/aalfiann/recacheman-memory","tags":["javascript","cache","memory","caching","store","ttl","cacheman","typescript"],"install":[{"cmd":"npm install recacheman-memory","lang":"bash","label":"npm"},{"cmd":"yarn add recacheman-memory","lang":"bash","label":"yarn"},{"cmd":"pnpm add recacheman-memory","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"ESM default import; CommonJS requires `const CachemanMemory = require('recacheman-memory')`","wrong":"const { CachemanMemory } = require('recacheman-memory')","symbol":"CachemanMemory","correct":"import CachemanMemory from 'recacheman-memory'"}],"quickstart":{"code":"import CachemanMemory from 'recacheman-memory';\nconst cache = new CachemanMemory();\n\n// Set with TTL (60 seconds)\ncache.set('mykey', { foo: 'bar' }, 60).then(value => {\n  console.log('Set:', value);\n  return cache.get('mykey');\n}).then(value => {\n  console.log('Get:', value);\n  return cache.del('mykey');\n}).then(() => {\n  console.log('Deleted');\n}).catch(err => {\n  console.error(err);\n});","lang":"typescript","description":"ESM usage with promises: set, get, and delete a cache entry."},"warnings":[{"fix":"Upgrade to Node.js 20+ or use recacheman-memory@1.x for older Node versions.","message":"Version 2.x drops support for Node.js < 20. Requires Node 20 or 22.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Use promise chaining or async/await instead of callbacks.","message":"The callback-based API is deprecated in favor of promise-based usage.","severity":"deprecated","affected_versions":">=2.0.0"},{"fix":"Check for `null` explicitly when retrieving values.","message":"The `.get()` method returns `null` for missing keys, not `undefined`.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Convert milliseconds to seconds before passing TTL.","message":"TTL is in seconds, not milliseconds. Setting TTL=1 expires after 1 second.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"search_vec":"'2.1.0':20 '20':23 '22':25 'activ':32 'also':11 'api':42 'base':37,41 'cach':7,15,56,58 'cacheman':29,61 'cacheman-memori':28 'callback':40 'callback-bas':39 'declar':47 'depend':54 'differenti':48 'engin':16 'extern':53 'fork':26 'in-memori':4 'javascript':55 'librari':8 'mainten':33 'memori':3,6,30,57 'node.js':10,22 'promis':36 'promise-bas':35 'provid':34 'recacheman':2,18 'recacheman-memori':1 'simplic':50 'store':59 'support':44 'target':21 'ttl':43,60 'typescript':46,62 'usabl':12 'version':19 'zero':52","created_at":"2026-06-07T12:58:07.171685+00:00","updated_at":"2026-06-07T12:58:07.171685+00:00","problems":[{"fix":"Use `import CachemanMemory from 'recacheman-memory'` then `new CachemanMemory()`.","cause":"Using named import instead of default import in TypeScript/ESM.","error":"TypeError: cache.set is not a function"},{"fix":"Use `import` or set `type: \"module\"` in package.json and use `createRequire` if needed.","cause":"Using `require()` for an ESM-only package (v2+ ships ESM).","error":"ERR_REQUIRE_ESM: require() of ES Module"},{"fix":"Check documentation; use `cache.getAll()` exists in v2.","cause":"Method renamed or removed in v2? Actually still present; ensure correct package version.","error":"cache.getAll is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/aalfiann/recacheman-memory#readme","github":"git://github.com/aalfiann/recacheman-memory","docs":null,"changelog":null,"pypi":null,"npm":"recacheman-memory","openapi_spec":null,"status_page":null,"smithery":null,"categories":["database"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-07","next_check":"2026-09-05","install_tag":null}}