A flexible caching adapter with pluggable backends for Node.js and serverless environments
- ✅ Modular backend support: Memory, Redis, Memcached, Cloudflare KV, Cloudflare D1
- ✅ TTL and automatic expiry logic
- ✅ Works in Node.js and edge/serverless environments
- ✅ Fully typed and tested with 100% coverage
npm install @iocium/cachekitimport{createCacheKit,MemoryBackend}from'@iocium/cachekit';constcache=createCacheKit();awaitcache.set('key','value',5000);// TTL in msconstresult=awaitcache.get('key');import{RedisBackend}from'@iocium/cachekit';import{createClient}from'redis';constclient=createClient();awaitclient.connect();constcache=createCacheKit({backend: newRedisBackend(client)});import{MemcachedBackend}from'@iocium/cachekit';importMemcachedfrom'memcached';constmemcached=newMemcached('localhost:11211');constcache=createCacheKit({backend: newMemcachedBackend(memcached)});import{KVBackend}from'@iocium/cachekit';constcache=createCacheKit({backend: newKVBackend(MY_KV_NAMESPACE)});import{D1Backend}from'@iocium/cachekit';constcache=createCacheKit({backend: newD1Backend(MY_D1_INSTANCE)});D1 requires a
cachetable:
CREATE TABLE cache (
key TEXT PRIMARY KEY,
value TEXT,
expiresAt INTEGER
);
npm run test
npm run test:coverageThis project is licensed under the MIT License. See the LICENSE file for details.
Made with 💙 by Iocium