casse à mémoire
Un simple cache en mémoire pour node.js
Installation
npm install memory-cache --save
Usage
var cache = require ( 'memory-cache' ) ;
// now just use the cache
cache . put ( 'foo' , 'bar' ) ;
console . log ( cache . get ( 'foo' ) ) ;
// that wasn't too interesting, here's the good part
cache . put ( 'houdini' , 'disappear' , 100 , function ( key , value ) {
console . log ( key + ' did ' + value ) ;
} ) ; // Time in ms
console . log ( 'Houdini will now ' + cache . get ( 'houdini' ) ) ;
setTimeout ( function ( ) {
console . log ( 'Houdini is ' + cache . get ( 'houdini' ) ) ;
} , 200 ) ;
// create new cache instance
var newCache = new cache . Cache ( ) ;
newCache . put ( 'foo' , 'newbaz' ) ;
setTimeout ( function ( ) {
console . log ( 'foo in old cache is ' + cache . get ( 'foo' ) ) ;
console . log ( 'foo in new cache is ' + newCache . get ( 'foo' ) ) ;
} , 200 ) ;
qui devrait imprimer
bar
Houdini will now disappear
houdini did disappear
Houdini is null
foo in old cache is baz
foo in new cache is newbaz
API
put = function (clé, valeur, temps, temps d'attente)
- Stocke simplement une valeur
- Si le temps n'est pas passé, il est stocké pour toujours
- Supprimera réellement la valeur dans le temps spécifié de MS (via
setTimeout
) - TimeOutCallback est une fonction facultative tirée après l'expiration de l'entrée avec la clé et la valeur passée (
function(key, value) {}
) - Renvoie la valeur mise en cache
get = fonction (clé)
- Récupère une valeur pour une clé donnée
- Si la valeur n'est pas mise en cache, renvoie
null
del = fonction (clé)
- Supprime une clé, renvoie un booléen spécifiant si la clé a été supprimée ou non
clear = function ()
size = fonction ()
- Renvoie le nombre actuel d'entrées dans le cache
memSize = function ()
- Renvoie le nombre d'entrées prenant de la place dans le cache
- Sera généralement
== size()
sauf si une suppression setTimeout
a mal tourné
Debug = fonction (bool)
- Allume ou désactiver le débogage
Hits = fonction ()
- Renvoie le nombre de coups de cache (surveillé uniquement en mode débogage)
miss = function ()
- Renvoie le nombre de ratés de cache (surveillé uniquement en mode débogage)
clés = fonction ()
- Renvoie toutes les touches de cache
exportjson = function ()
- Renvoie une chaîne JSON représentant toutes les données de cache
- Tout temps d'attente sera ignoré
importjson = function (json: chaîne, options: {skipduplicate: booléen})
- Merge toutes les données d'un appel précédent pour
export
dans le cache - Toutes les entrées existantes avant une
import
resteront dans le cache - Toutes les touches en double seront écrasées, sauf si
skipDuplicates
est true
- Toutes les entrées qui auraient expiré depuis leur exportation expireront après avoir été importée (mais leurs rappels ne seront pas invoqués)
-
options
disponibles:-
skipDuplicates
: Si true
, les touches en double seront ignorées lors de leur importation. Par défaut est false
.
- Renvoie la nouvelle taille du cache
Cache = fonction ()
- Constructeur de cache
- Remarque qui
require('cache')
renverrait l'instance par défaut de cache - alors
require('cache').Cache
est la classe réelle
Remarque sur les patchs / demandes de traction
- Fourk le projet.
- Faites votre fonctionnalité ou votre correction de bogue.
- Envoyez-moi une demande de traction.