Caching in Nodejs con Keyv

Mattepuffo's logo
Caching in Nodejs con Keyv

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!


Condividi

Commentami!