Cache avec confiance
Ultra Fast & Tiny ( environ 1,28 kb gzipped ) cache JavaScript en mémoire avec une fonction d'expiration du cache presque en temps réel
Fonctionne dans n'importe quel runtime javascript (nœud ou navigateur)
npm install pure-cacheyarn add pure-cache < script src =" https://unpkg.com/pure-cache/dist/pure-cache.umd.js " > </ script > Bibliothèque d'importation
import PureCache from 'pure-cache' ;
// or const PureCache = require('pure-cache');Créer une instance Cachestore
// Create instance of cache store and set cache expiry timeout to 500ms
const cacheStore = new PureCache ( { expiryCheckInterval : 500 } ) ;Configuration du gestionnaire d'expiration
// 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 ) ;Mettre / obtenir des données de Cachestore
// 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 }Attendre l'expiration
// 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' ) ; // nullAuditeurs de nettoyage
// remove listeners after you are done
cacheStore . off ( 'expiry' , onExpiry ) ;
// IMPORTANT! When done, make sure you cleanup the instance
cacheStore . dispose ( ) ;API de paiement pour une utilisation avancée.
Les événements sont déclenchés lorsque des opérations comme ADD, obtenez, supprimez, clairement sont effectuées sur Cachestore ou lorsque le cache expire.
expiration
cacheStore . on ( 'expiry' , ( { key , data : { value , addedAt , expiryAt } } ) => {
// ...
} ) ;ajouter
cacheStore . on ( 'add' , ( { key , data : { value , addedAt , expiryAt } } ) => {
// ...
} ) ;obtenir
cacheStore . on ( 'get' , ( { key , data : { value , addedAt , expiryAt } } ) => {
// ...
} ) ;retirer
cacheStore . on ( 'remove' , ( { key , data : { value , addedAt , expiryAt } } ) => {
// ...
} ) ;clair
cacheStore . on ( 'clear' , ( ) => {
// ...
} ) ; Merci d'avoir pris le temps de contribuer, veuillez lire les documents et vérifier SRC pour comprendre comment les choses fonctionnent.
Vous avez trouvé un problème? Vous voulez une nouvelle fonctionnalité? Tout d'abord, voyez si votre problème ou votre idée a déjà été signalé. Sinon, ouvrez simplement un nouveau problème clair et descriptif.
Les demandes de traction sont les plus grandes contributions, alors assurez-vous qu'elles sont concentrées dans la portée et évitent les engagements sans rapport.
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-featureLicence MIT © Ganapati VS