@baanloh/cache
v1.1.0
Published
Key-value pair cache with ttl.
Downloads
23
Readme
Key-value pair cache with ttl.
Install
npm i @baanloh/cache
Documentation
Example
import { Cache } from '@baanloh/cache';
// create a cache with default ttl to 10 minutes
const cache = new Cache<string, string>(1000 * 60 * 10);
// subscribe to delete event.
// can be used to perform specific action if the element is deleted by ttl.
cache.on('delete', (k, v) => {
console.log(`deleted ${k}: ${v}`);
});
cache.set('A', 'Foo'); // add an element to the cache
cache.set('B', 'Goo', 1000 * 60); // add an element with a ttl of 1 minute
cache.set('A', 'Hoo'); // replace value of A. delete event is called.
cache.get('A'); // get an element from cache.
cache.has('A'); // check if cache has key.
cache.delete('A'); // remove an element from cache.
cache.clear(); // clear the cache.
// restart ttl
const foo = cache.get('foo', true); // get foo and restart its ttl with default ttl.
const goo = cache.get('goo', 1000 * 60); // get goo and restart its ttl at 1 minute.
const hasFoo = cache.restart('foo'); // restart foo ttl with default ttl.
const hasGoo = cache.restart('goo', 1000 * 60); // restart goo ttl at 1 minute.
Events
| name | description |
| :------: | ------------------------------------------------------------------------------------------------------------------------------------------- |
| delete
| Called when an element is delete from the cache. Either with delete
method, ttl or set
method (if the key already contains an element). |
Author
👤 Tristan Guichaoua
- Github: @tguichaoua
🤝 Contributing
Contributions, issues and feature requests are welcome!Feel free to check issues page.
Show your support
Give a ⭐️ if this project helped you!
📝 License
Copyright © 2020 Tristan Guichaoua. This project is MIT licensed.
This README was generated with ❤️ by readme-md-generator