Caching in Nodejs con Keyv
Keyv è uno storage di tipo key:value che supporta diversi database.
Di default salva tutto in memoria, ma volendo, come abbiamo detto, possiamo usare:
- MongoDB
- Redis
- SQLite
- MySQL
- Postgre
- Memcache
- Etcd
No vediamo un esempio con SQLite.
Quindi installiamo questi due package con npm:
npm install --save keyv @keyv/sqlite
Le funzioni principali sono:
- set
- get
- delete
Nell'esempio qui sotto abbiamo anche impostato il namespace, che ci consente di raggruppare le voci da "cachare" senza collisioni; inoltre abbiamo impostato una scadenza ad uno dei valori:
const Keyv = require('keyv');
const cache = new Keyv('sqlite:keyv.sqlite', {
namespace: 'cache'
});
cache.on('error', err => console.log('Connection Error', err));
cache.set('foo', 'Scade tra 2 secondi', 2000);
cache.set('bar', 'Senza scadenza');
cache.get('bar')
.then(result => {
console.log(result);
});
Di default le funzioni sono tutte asincrone.
Enjoy!
javascript keyv npm
Commentami!