{"id":44502,"library":"cache-storage","title":"cache-storage","description":"Abandoned Node.js caching library inspired by Nette framework, providing a unified interface for multiple storage backends (file, memory, Redis, browser local storage). Version 2.0.1 was the last release. No longer maintained since at least 2016. Requires Node >=0.9. Offers both synchronous and asynchronous storages with expiration features. Superseded by modern alternatives like node-cache, lru-cache, or ioredis-based caching.","status":"abandoned","version":"2.0.1","language":"javascript","source_language":"en","source_url":"git@github.com:Carrooi/Node-CacheStorage","tags":["javascript","cache","caching","storage","memory"],"install":[{"cmd":"npm install cache-storage","lang":"bash","label":"npm"},{"cmd":"yarn add cache-storage","lang":"bash","label":"yarn"},{"cmd":"pnpm add cache-storage","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"CommonJS require is the only supported pattern; the library does not support ESM imports.","wrong":"import Cache from 'cache-storage';","symbol":"Cache","correct":"var Cache = require('cache-storage');"},{"note":"Storages are accessed via deep require paths. No ESM support.","wrong":"import FileSyncStorage from 'cache-storage/Storage/FileSyncStorage';","symbol":"FileSyncStorage","correct":"var FileSyncStorage = require('cache-storage/Storage/FileSyncStorage');"},{"note":"Redis storage requires manual dependency on the 'redis' package (version 0.8.x) as a peer dependency.","wrong":"import { RedisAsyncStorage } from 'cache-storage';","symbol":"RedisAsyncStorage","correct":"var RedisAsyncStorage = require('cache-storage/Storage/RedisAsyncStorage');"}],"quickstart":{"code":"var Cache = require('cache-storage');\nvar FileSyncStorage = require('cache-storage/Storage/FileSyncStorage');\n\nvar cache = new Cache(new FileSyncStorage('./temp'), 'myapp');\n\nvar data = cache.load('some_key');\nif (data === null) {\n  data = cache.save('some_key', 'Hello World', { expiration: 3600 });\n}\nconsole.log(data);\n\n// Using fallback\nvar result = cache.load('another_key', function() {\n  return 'computed value';\n});\nconsole.log(result);","lang":"javascript","description":"Shows synchronous cache usage with file storage, manual load/save, and fallback function."},"warnings":[{"fix":"Migrate to actively maintained caching libraries like node-cache, lru-cache, or cache-manager.","message":"The package is abandoned and no longer maintained. Do not use in new projects.","severity":"deprecated","affected_versions":">=0.0.0"},{"fix":"Use Node.js 0.9-0.12 or consider containerizing with an older Node version. Better: switch to a maintained library.","message":"Requires Node.js >= 0.9. Modern Node.js versions may have compatibility issues.","severity":"breaking","affected_versions":">=0.0.0"},{"fix":"Explicitly install redis@0.8.x alongside cache-storage if using Redis storage.","message":"RedisAsyncStorage depends on an old version of the 'redis' package (0.8.x). Installing a newer redis version may break compatibility.","severity":"gotcha","affected_versions":">=2.0.0"},{"fix":"Wrap callbacks in Promises manually or switch to a library with Promise support.","message":"All asynchronous methods use callbacks, not Promises. No promise or async/await support.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Avoid using in production or consult a lawyer. Prefer libraries with clear open-source licenses.","message":"The package has no defined license. Legal usage may be uncertain.","severity":"gotcha","affected_versions":">=0.0.0"}],"env_vars":null,"search_vec":"'0.9':41 '2.0.1':27 '2016':38 'abandon':4 'altern':54 'asynchron':46 'backend':19 'base':65 'browser':23 'cach':2,6,58,61,66,68,69 'cache-storag':1 'expir':49 'featur':50 'file':20 'framework':11 'inspir':8 'interfac':15 'ioredi':64 'ioredis-bas':63 'javascript':67 'last':30 'least':37 'librari':7 'like':55 'local':24 'longer':33 'lru':60 'lru-cach':59 'maintain':34 'memori':21,71 'modern':53 'multipl':17 'nett':10 'node':40,57 'node-cach':56 'node.js':5 'offer':42 'provid':12 'redi':22 'releas':31 'requir':39 'sinc':35 'storag':3,18,25,47,70 'supersed':51 'synchron':44 'unifi':14 'version':26","created_at":"2026-06-07T12:50:26.701979+00:00","updated_at":"2026-06-07T12:50:26.701979+00:00","problems":[{"fix":"Ensure the path is correct: 'cache-storage/Storage/FileSyncStorage' (capital S).","cause":"The deep require path is case-sensitive and must match exactly.","error":"Cannot find module 'cache-storage/Storage/FileSyncStorage'"},{"fix":"Start Redis server or configure connection settings correctly.","cause":"RedisAsyncStorage expects a running Redis server on default port 6379.","error":"Redis connection refused - errno: 111"},{"fix":"Instantiate with: new Cache(new FileSyncStorage('./temp'), 'namespace');","cause":"The Cache constructor expects a storage instance and a namespace string; incorrect arguments.","error":"TypeError: cache.load 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/Carrooi/Node-CacheStorage","github":"git@github.com:Carrooi/Node-CacheStorage","docs":null,"changelog":null,"pypi":null,"npm":"cache-storage","openapi_spec":null,"status_page":null,"smithery":null,"categories":["storage","devops"],"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}}