Speicher-Cache
Ein einfacher In-Memory-Cache für node.js
Installation
npm install memory-cache --save
Verwendung
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 ) ;
welches drucken sollte
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 (Schlüssel, Wert, Zeit, Timeoutcallback)
- Speichert einfach einen Wert
- Wenn die Zeit nicht weitergegangen wird, wird sie für immer gespeichert
- Entfernt tatsächlich den Wert in der angegebenen Zeit in MS (über
setTimeout
) - timeoutcallback ist eine optionale Funktion, die nach Ablauf des Taste und des Werts abgelaufen ist (
function(key, value) {}
) - Gibt den zwischengespeicherten Wert zurück
Get = Funktion (Schlüssel)
- Ruft einen Wert für einen bestimmten Schlüssel ab
- Wenn der Wert nicht zwischengespeichert wird, gibt
null
zurück
Del = Funktion (Schlüssel)
- Löscht einen Schlüssel, gibt einen Booleschen an, der angibt, ob der Schlüssel gelöscht wurde oder nicht
clear = function ()
size = function ()
- Gibt die aktuelle Anzahl der Einträge im Cache zurück
memrize = function ()
- Gibt die Anzahl der Einträge zurück, die Platz im Cache einnehmen
- Wird normalerweise
== size()
, es sei denn, eine Entfernung setTimeout
ging schief
debug = function (bool)
- Schaltet ein oder aus dem Debuggen ein oder aus
hits = function ()
- Gibt die Anzahl der Cache -Treffer zurück (nur im Debug -Modus überwacht)
MISSES = FUNKTION ()
- Gibt die Anzahl der Cache -Misses zurück (nur im Debug -Modus überwacht)
Schlüssel = Funktion ()
- Gibt alle Cache -Schlüssel zurück
Exportjson = Funktion ()
- Gibt eine JSON -Zeichenfolge zurück, die alle Cache -Daten darstellt
- Jedes Timeoutcallbacks wird ignoriert
Importjson = Funktion (JSON: String, Optionen: {SkipDuplicates: boolean})
- Fungiert alle Daten aus einem vorherigen Aufruf, um in den Cache zu
export
- Alle vorhandenen Einträge vor einem
import
bleiben im Cache - Alle doppelten Schlüssel werden überschrieben, es sei denn,
skipDuplicates
ist true
- Alle Einträge, die seit dem Exportieren abgelaufen wären, werden nach der Importierung ausfallen (ihre Rückrufe werden jedoch nicht aufgerufen).
- Verfügbare
options
:-
skipDuplicates
: Wenn true
, werden alle doppelten Schlüssel beim Import ignoriert. Standardmäßig false
.
- Gibt die neue Größe des Cache zurück
Cache = function ()
- Cache -Konstruktor
- Beachten Sie, dass
require('cache')
die Standardinstanz von Cache zurückgeben würde - während
require('cache').Cache
ist die tatsächliche Klasse
Hinweis zu Patches/Pull -Anfragen
- Geben Sie das Projekt auf.
- Machen Sie Ihre Funktionsanbietung oder Fehlerbehebung.
- Senden Sie mir eine Pull -Anfrage.