{"id":47496,"library":"erxes-inmemory-storage","title":"Erxes In-Memory Storage","description":"Lightweight in-memory key-value storage with TTL support for Erxes ecosystem. Version 1.0.20 is the current stable release. No recent updates; maintenance mode. Differentiators: simple API with set/get/remove methods and per-key TTL. Alternative is redis.","status":"maintenance","version":"1.0.20","language":"javascript","source_language":"en","source_url":"https://github.com/erxes/erxes-inmemory-storage","tags":["javascript"],"install":[{"cmd":"npm install erxes-inmemory-storage","lang":"bash","label":"npm"},{"cmd":"yarn add erxes-inmemory-storage","lang":"bash","label":"yarn"},{"cmd":"pnpm add erxes-inmemory-storage","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Default import is the main class.","wrong":"const InMemoryStorage = require('erxes-inmemory-storage').default","symbol":"default","correct":"import InMemoryStorage from 'erxes-inmemory-storage'"},{"note":"Named import not available; use default import.","wrong":"import { InMemoryStorage } from 'erxes-inmemory-storage'","symbol":"InMemoryStorage","correct":"import InMemoryStorage from 'erxes-inmemory-storage'"},{"note":"TypeScript type export; use as type.","symbol":"MemoryStorage (type)","correct":"import type { MemoryStorage } from 'erxes-inmemory-storage'"}],"quickstart":{"code":"import InMemoryStorage from 'erxes-inmemory-storage';\n\nconst storage = new InMemoryStorage();\nstorage.set('key', 'value', 10000); // 10 second TTL\nconst value = storage.get('key');\nconsole.log(value); // 'value'\nstorage.remove('key');\nstorage.clear();","lang":"typescript","description":"Creates in-memory storage instance, sets a key with TTL, reads it, and removes it."},"warnings":[{"fix":"Multiply seconds by 1000 when passing TTL.","message":"TTL is in milliseconds, not seconds. Using seconds will cause early expiration.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Use a persistent store (e.g., redis) if data must survive restarts.","message":"Storage is not persistent; data is lost on process restart.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Explicitly serialize/deserialize non-string values (e.g., JSON.stringify/parse).","message":"All values are stored as strings internally. Objects/numbers are coerced to string.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Consider migrating to a more maintained in-memory storage solution.","message":"Package is in maintenance mode. No new features or bug fixes planned.","severity":"deprecated","affected_versions":">=1.0.20"}],"env_vars":null,"search_vec":"'1.0.20':21 'altern':43 'api':34 'current':24 'differenti':32 'ecosystem':19 'erx':1,18 'in-memori':2,7 'javascript':46 'key':11,41 'key-valu':10 'lightweight':6 'mainten':30 'memori':4,9 'method':37 'mode':31 'per':40 'per-key':39 'recent':28 'redi':45 'releas':26 'set/get/remove':36 'simpl':33 'stabl':25 'storag':5,13 'support':16 'ttl':15,42 'updat':29 'valu':12 'version':20","created_at":"2026-06-07T16:51:48.957309+00:00","updated_at":"2026-06-07T16:51:48.957309+00:00","problems":[{"fix":"Use: import InMemoryStorage from 'erxes-inmemory-storage'","cause":"Using named import instead of default import.","error":"TypeError: InMemoryStorage is not a constructor"},{"fix":"Ensure TTL is in milliseconds (e.g., 10000 for 10 seconds).","cause":"TTL in seconds instead of milliseconds causing immediate expiration.","error":"Value 'undefined' returned for key despite setting it with TTL"},{"fix":"Make sure to call 'new InMemoryStorage()' before using methods.","cause":"Storage instance not initialized correctly.","error":"Cannot read properties of undefined (reading 'get')"}],"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/erxes/erxes-inmemory-storage#readme","github":"https://github.com/erxes/erxes-inmemory-storage","docs":null,"changelog":null,"pypi":null,"npm":"erxes-inmemory-storage","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}}