Object-ingebouwd object

ObjectLruCache

LruCache (Least Recent Used Cache) is een klasse die wordt gebruikt om de LRU-cache te onderhouden. Het kan een bepaald aantal waarden opslaan en de grootte van de container behouden. Als er nieuwe gegevens binnenkomen en de container de maximale grootte niet heeft bereikt, kunnen de nieuwe gegevens rechtstreeks aan de container worden toegevoegd. Als de container vol is, verwijdert de container de minst recent gebruikte gegevens

We kunnen het op de volgende manieren gebruiken:

1 2
const util = require('util') const c = new util.LruCache(10, 100) // create a LruCache instance with size 10 and timeout 100ms

Onder hen is set() de interface voor het instellen van sleutel-waardeparen:

1
LruCache.set(String name, Value value);

De parameter name specificeert de sleutelwaarde die moet worden ingesteld, en de parameter value specificeert de waarde die moet worden ingesteld.

LruCacheDe getmethode kan gegevens in de cache bijwerken met behulp van een callback-functie:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
var c = new util.LruCache(10, 1000); // create a LruCache instance with size 10 and timeout 1000ms function get_data(name) { // return data from backend // ... var data = { 'name': name, 'value': Math.random() }; console.log('update data: ' + JSON.stringify(data)); // output infomation to console return data; } console.log(c.get('a', get_data)); console.log(c.get('a', get_data));

Resultaten van de:

1 2 3
update data: {"name":"a","value":0.4019124971556616} {"name":"a","value":0.4019124971556616} // updater will be called to update cache data when cache is empty {"name":"a","value":0.4019124971556616} // updater will not be called when cache is not empty

Wanneer ontwikkelaars specifiek LruCache gebruiken, wordt aangeraden de volgende best practices te volgen:

  • U kunt LruCache gebruiken om de applicatieprestaties te optimaliseren door een specifiek tijdstip te gebruiken als het nieuwe punt tijdens de back-endgegevensverwerking en door de vervaltijd in te stellen.
  • Analyseer zakelijke beslissingen onder overeenkomstige scenario's. Frequentere gegevensupdates moeten bijvoorbeeld worden geconfigureerd met een kortere vervaltijd, terwijl in de cache opgeslagen gegevens die minder vaak worden bijgewerkt geen te korte vervaltijd hoeven in te stellen.
  • Overweeg in verschillende gebruiksscenario's verschillende gegevenstoegangsmodi en gebruik de juiste LruCache-klasse-instanties.

erfenis relatie

Constructeur

LruCache

LruCache-objectconstructor

1 2
new LruCache(Integer size, Integer timeout = 0);

Oproepparameters:

  • size: geheel getal, maximale cachegrootte
  • timeout: geheel getal, vervaltijd van element, eenheid is ms, als deze kleiner is dan of gelijk is aan 0, vervalt deze niet. De standaardwaarde is 0.

statische eigenschappen

defaultMaxListeners

Geheel getal, het standaard globale maximale aantal luisteraars

1
static Integer LruCache.defaultMaxListeners;

eigenschappen van leden

size

Integer, vraag het aantal waarden in de container op

1
readonly Integer LruCache.size;

timeout

Geheel getal, vraag op en stel de vervaltijd van elementen in de container in, de eenheid is ms, als deze kleiner is dan of gelijk is aan 0, verloopt deze niet.

1
Integer LruCache.timeout;

onexpire

Time-outgebeurtenissen voor functies, query's en bindingen van gegevens, gelijk aan on("expire", func);

1
Function LruCache.onexpire;

lid functie

clear

Containergegevens wissen

1
LruCache.clear();

has

Controleer of de gegevens met de opgegeven sleutelwaarde in de container voorkomen

1
Boolean LruCache.has(String name);

Oproepparameters:

  • name: String, specificeert de sleutelwaarde die moet worden gecontroleerd

Resultaten retourneren:

  • Boolean, geeft terug of de sleutelwaarde bestaat

get

Vraag de waarde van de opgegeven sleutelwaarde op

1
Value LruCache.get(String name);

Oproepparameters:

  • name: String, geef de sleutelwaarde op die moet worden opgevraagd

Resultaten retourneren:

  • Value, retourneert de waarde die overeenkomt met de sleutelwaarde. Als deze niet bestaat, retourneert ongedefinieerd

Vraag de waarde van de opgegeven sleutelwaarde op. Als deze niet bestaat of verloopt, roept u de callback-functie aan om de gegevens bij te werken.

1 2
Value LruCache.get(String name, Function updater);

Oproepparameters:

  • name: String, geef de sleutelwaarde op die moet worden opgevraagd
  • updater: Functie, specificeer de updatefunctie

Resultaten retourneren:

  • Value, retourneert de waarde die overeenkomt met de sleutelwaarde

set

Stel een sleutelwaardegegevens in. Als de sleutelwaarde niet bestaat, voegt u een nieuw gegevensfragment in.

1 2
LruCache.set(String name, Value value);

Oproepparameters:

  • name: String, geef de sleutelwaarde op die moet worden ingesteld
  • value: Waarde, specificeer de gegevens die moeten worden ingesteld

Stel een sleutelwaardegegevens in. Als de sleutelwaarde niet bestaat, voegt u nieuwe gegevens in.

1
LruCache.set(Object map);

Oproepparameters:

  • map: Object, specificeert de sleutel/waarde-datawoordenlijst die moet worden ingesteld

remove

Verwijder alle waarden van de opgegeven sleutel

1
LruCache.remove(String name);

Oproepparameters:

  • name: String, specificeert de sleutelwaarde die moet worden verwijderd

isEmpty

Controleer of de container leeg is

1
Boolean LruCache.isEmpty();

Resultaten retourneren:

  • Boolean, retourneert true als er geen waarde in de container zit

on

Bind een gebeurtenishandler aan het object

1 2
Object LruCache.on(String ev, Function func);

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis
  • func: Functie, specificeer de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

Bind een gebeurtenishandler aan het object

1
Object LruCache.on(Object map);

Oproepparameters:

  • map: Object, specificeert de gebeurtenistoewijzingsrelatie, de objectattribuutnaam wordt gebruikt als de gebeurtenisnaam en de waarde van het attribuut wordt gebruikt als de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

addListener

Bind een gebeurtenishandler aan het object

1 2
Object LruCache.addListener(String ev, Function func);

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis
  • func: Functie, specificeer de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

Bind een gebeurtenishandler aan het object

1
Object LruCache.addListener(Object map);

Oproepparameters:

  • map: Object, specificeert de gebeurtenistoewijzingsrelatie, de objectattribuutnaam wordt gebruikt als de gebeurtenisnaam en de waarde van het attribuut wordt gebruikt als de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

prependListener

Bind een gebeurtenishandler aan de oorsprong van het object

1 2
Object LruCache.prependListener(String ev, Function func);

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis
  • func: Functie, specificeer de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

Bind een gebeurtenishandler aan de oorsprong van het object

1
Object LruCache.prependListener(Object map);

Oproepparameters:

  • map: Object, specificeert de gebeurtenistoewijzingsrelatie, de objectattribuutnaam wordt gebruikt als de gebeurtenisnaam en de waarde van het attribuut wordt gebruikt als de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

once

Bind een eenmalige gebeurtenishandler aan het object. De eenmalige gebeurtenishandler wordt slechts één keer geactiveerd.

1 2
Object LruCache.once(String ev, Function func);

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis
  • func: Functie, specificeer de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

Bind een eenmalige gebeurtenishandler aan het object. De eenmalige gebeurtenishandler wordt slechts één keer geactiveerd.

1
Object LruCache.once(Object map);

Oproepparameters:

  • map: Object, specificeert de gebeurtenistoewijzingsrelatie, de objectattribuutnaam wordt gebruikt als de gebeurtenisnaam en de waarde van het attribuut wordt gebruikt als de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

prependOnceListener

Bind een gebeurtenishandler aan de oorsprong van het object

1 2
Object LruCache.prependOnceListener(String ev, Function func);

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis
  • func: Functie, specificeer de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

Bind een gebeurtenishandler aan de oorsprong van het object

1
Object LruCache.prependOnceListener(Object map);

Oproepparameters:

  • map: Object, specificeert de gebeurtenistoewijzingsrelatie, de objectattribuutnaam wordt gebruikt als de gebeurtenisnaam en de waarde van het attribuut wordt gebruikt als de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

off

De toewijzing van een functie uit de objectverwerkingswachtrij ongedaan maken

1 2
Object LruCache.off(String ev, Function func);

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis
  • func: Functie, specificeer de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

Annuleer alle functies in de wachtrij voor objectverwerking

1
Object LruCache.off(String ev);

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

De toewijzing van een functie uit de objectverwerkingswachtrij ongedaan maken

1
Object LruCache.off(Object map);

Oproepparameters:

  • map: Object, specificeert de gebeurtenistoewijzingsrelatie, de objectattribuutnaam wordt gebruikt als de gebeurtenisnaam en de waarde van het attribuut wordt gebruikt als de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

removeListener

De toewijzing van een functie uit de objectverwerkingswachtrij ongedaan maken

1 2
Object LruCache.removeListener(String ev, Function func);

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis
  • func: Functie, specificeer de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

Annuleer alle functies in de wachtrij voor objectverwerking

1
Object LruCache.removeListener(String ev);

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

De toewijzing van een functie uit de objectverwerkingswachtrij ongedaan maken

1
Object LruCache.removeListener(Object map);

Oproepparameters:

  • map: Object, specificeert de gebeurtenistoewijzingsrelatie, de objectattribuutnaam wordt gebruikt als de gebeurtenisnaam en de waarde van het attribuut wordt gebruikt als de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

removeAllListeners

Annuleert alle luisteraars voor alle gebeurtenissen uit de verwerkingswachtrij van het object. Als er een gebeurtenis is opgegeven, worden alle luisteraars voor de opgegeven gebeurtenis verwijderd.

1
Object LruCache.removeAllListeners(String ev);

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

Annuleert alle luisteraars voor alle gebeurtenissen uit de verwerkingswachtrij van het object. Als er een gebeurtenis is opgegeven, worden alle luisteraars voor de opgegeven gebeurtenis verwijderd.

1
Object LruCache.removeAllListeners(Array evs = []);

Oproepparameters:

  • evs: Array, geef de naam van de gebeurtenis op

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

setMaxListeners

De standaardlimiet voor het aantal luisteraars, alleen voor compatibiliteit

1
LruCache.setMaxListeners(Integer n);

Oproepparameters:

  • n: geheel getal, geef het aantal gebeurtenissen op

getMaxListeners

Krijgt het standaardlimietaantal luisteraars, alleen voor compatibiliteit

1
Integer LruCache.getMaxListeners();

Resultaten retourneren:

  • Integer, retourneert de standaardlimiethoeveelheid

listeners

Voer een query uit op de luisteraararray voor de opgegeven gebeurtenis van het object

1
Array LruCache.listeners(String ev);

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis

Resultaten retourneren:

  • Array, retourneert de luisteraararray voor de opgegeven gebeurtenis

listenerCount

Vraag het aantal luisteraars op voor de opgegeven gebeurtenis van het object

1
Integer LruCache.listenerCount(String ev);

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis

Resultaten retourneren:

  • Integer, retourneert het aantal luisteraars voor de opgegeven gebeurtenis

Vraag het aantal luisteraars op voor de opgegeven gebeurtenis van het object

1 2
Integer LruCache.listenerCount(Value o, String ev);

Oproepparameters:

  • o: Waarde, specificeert het object van de query
  • ev: String, specificeert de naam van de gebeurtenis

Resultaten retourneren:

  • Integer, retourneert het aantal luisteraars voor de opgegeven gebeurtenis

eventNames

Naam van query-listenergebeurtenis

1
Array LruCache.eventNames();

Resultaten retourneren:

  • Array, retourneert een array met gebeurtenisnamen

emit

Activeer actief een gebeurtenis

1 2
Boolean LruCache.emit(String ev, ...args);

Oproepparameters:

  • ev: String, gebeurtenisnaam
  • args: ..., gebeurtenisparameters worden doorgegeven aan de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Boolean, retourneert de gebeurtenistriggerstatus, retourneert waar als er een responsgebeurtenis is, retourneert anders false

toString

Retourneert de tekenreeksweergave van het object. Over het algemeen wordt '[Native Object]' geretourneerd. Het object kan opnieuw worden geïmplementeerd op basis van zijn eigen kenmerken.

1
String LruCache.toString();

Resultaten retourneren:

  • String, retourneert de tekenreeksrepresentatie van het object

toJSON

Retourneert een weergave in JSON-indeling van het object, waarbij doorgaans een verzameling leesbare eigenschappen wordt geretourneerd die door het object zijn gedefinieerd.

1
Value LruCache.toJSON(String key = "");

Oproepparameters:

  • key: Tekenreeks, niet gebruikt

Resultaten retourneren:

  • Value, retourneert een waarde die JSON-serialiseerbaar bevat