cache-net
TypeScript icon, indicating that this package has built-in type declarations

1.1.8 • Public • Published

🛅 cache-net

A tiny JavaScript cache library inspired by .NET

Features

  • Size limit: delete old items if full
  • Expiration: absolute or sliding
  • String or Object keys for stored data
  • "Item Removed" event with text reason
  • Dependencies between items (cascading remove)
    • defined by cache key
    • defined by other dependency

Install

npm i cache-net

Example

import Cache, {CacheDependency} from 'cache-net'
 
const cache = new Cache(3) // max size is three items
const key = {id: 'three', hello: 'world'} // can be any plain object
 
cache.set('one', 1)
cache.set('two', {a: 1, b: {c: 'hi'}})
cache.set(key, 3, {dependencies: new CacheDependency('two')})
cache.set('four', {slidingExpirationMsec: 5000}) // will be removed in 5 sec if not accessed
 
let value = cache.get('one') // undefined (deleted because of size limit)
value = cache.get('two') // { a: 1, b: { c: "hi" }}
value = cache.get(key) // 3
 
cache.remove('two') // will also remove dependent item referenced by "key"

Package Sidebar

Install

npm i cache-net

Weekly Downloads

2

Version

1.1.8

License

MIT

Unpacked Size

141 kB

Total Files

18

Last publish

Collaborators

  • vencedor