Cache mit Zuversicht
Ultra Fast & Tiny ( ca. 1,28 KB GZIPPED ) In-Memory-JavaScript-Cache mit nahezu Echtzeit-Cache-Ablauffunktion
Funktioniert in einer JavaScript -Laufzeit (Knoten oder Browser)
npm install pure-cacheyarn add pure-cache < script src =" https://unpkg.com/pure-cache/dist/pure-cache.umd.js " > </ script > Bibliothek importieren
import PureCache from 'pure-cache' ;
// or const PureCache = require('pure-cache');Erstellen Sie die Cachestore -Instanz
// Create instance of cache store and set cache expiry timeout to 500ms
const cacheStore = new PureCache ( { expiryCheckInterval : 500 } ) ;Setup -Ablauf -Handler
// Setup a expiry listener, this will be called when data expires
const onExpiry = ( { key , data : { value , expiryAt } } ) => {
// Do something with expired key
console . log ( `Key: ${ key } with value: ${ value } expired at ${ expiryAt } .` ) ;
} ;
cacheStore . on ( 'expiry' , onExpiry ) ;Daten aus Cachestore stellen/abrufen
// Put 'bar' data into 'foo' key in cache and configure it to expire after 30s
cacheStore . put ( 'foo' , 'bar' , 30000 ) ;
// Get 'foo' key value from cache
cacheStore . get ( 'foo' ) ; // { value: 'bar', addedAt: 1527052395294, expiryAt: 1527052425294 }Warten Sie auf Ablauf
// Wait till expiry time(basically 30+ seconds in this case)
const wait = t => new Promise ( r => setTimeout ( r , t ) ) ;
await wait ( 31000 ) ;
// Now the cache will return null value for 'foo' key
cacheStore . get ( 'foo' ) ; // nullAufräumarbeiten
// remove listeners after you are done
cacheStore . off ( 'expiry' , onExpiry ) ;
// IMPORTANT! When done, make sure you cleanup the instance
cacheStore . dispose ( ) ;Kasse -API für fortgeschrittene Nutzung.
Ereignisse werden ausgelöst, wenn Vorgänge wie hinzufügen, gingen, entfernen, klare auf Cachestore oder wenn der Cache abläuft.
Ablauf
cacheStore . on ( 'expiry' , ( { key , data : { value , addedAt , expiryAt } } ) => {
// ...
} ) ;hinzufügen
cacheStore . on ( 'add' , ( { key , data : { value , addedAt , expiryAt } } ) => {
// ...
} ) ;erhalten
cacheStore . on ( 'get' , ( { key , data : { value , addedAt , expiryAt } } ) => {
// ...
} ) ;entfernen
cacheStore . on ( 'remove' , ( { key , data : { value , addedAt , expiryAt } } ) => {
// ...
} ) ;klar
cacheStore . on ( 'clear' , ( ) => {
// ...
} ) ; Vielen Dank, dass Sie sich Zeit genommen haben, um einen Beitrag zu leisten. Lesen Sie bitte Docs und Checkout SRC, um zu verstehen, wie die Dinge funktionieren.
Ein Problem gefunden? Willst du eine neue Funktion? Sehen Sie zunächst, ob Ihr Problem oder Ihre Idee bereits gemeldet wurde. Wenn dies nicht der Fall ist, öffnen Sie einfach ein neues klares und beschreibendes Problem.
Pull -Anfragen sind die größten Beiträge. Stellen Sie daher sicher, dass sie sich auf den Umfang konzentrieren, und vermeiden Sie nicht verwandte Commits.
git clone https://github.com/<your-username>/pure-cachecd pure-cachegit checkout -b my-new-featureyarngit commit -am 'Add some feature'git push origin my-new-featureMIT -Lizenz © Ganapati vs