Objecte objecte incorporat

ObjectLruCache

LruCache (Least Recently Used Cache) és una classe que s'utilitza per mantenir la memòria cau LRU. Pot emmagatzemar un cert nombre de valors i mantenir la mida del contenidor. Quan arriben dades noves, si el contenidor no ha arribat al límit de mida, les dades noves es poden afegir directament al contenidor. Si el contenidor està ple, el contenidor desallotjarà les dades utilitzades menys recentment

El podem utilitzar de les següents maneres:

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

Entre ells, set() és la interfície per configurar parells clau-valor:

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

El paràmetre de nom especifica el valor de la clau que s'ha d'establir i el paràmetre de valor especifica el valor que s'ha d'establir.

LruCacheEl getmètode pot actualitzar les dades de la memòria cau mitjançant una funció de devolució de trucada:

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));

Resultats 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

Quan utilitzeu LruCache específicament, es recomana als desenvolupadors que segueixin les pràctiques recomanades següents:

  • Podeu utilitzar LruCache per optimitzar el rendiment de l'aplicació utilitzant un punt de temps específic com a punt fresc durant el processament de dades de fons i establint el temps de caducitat.
  • Analitzar les decisions empresarials en els escenaris corresponents. Per exemple, les actualitzacions de dades més freqüents s'han de configurar amb un temps de caducitat més curt, mentre que les dades de la memòria cau que s'actualitzen amb menys freqüència no necessiten establir un temps de caducitat massa curt.
  • En diferents escenaris d'ús, tingueu en compte diferents modes d'accés a les dades i utilitzeu instàncies de classe LruCache adequades.

relació hereditària

Constructor

LruCache

Constructor d'objectes LruCache

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

Paràmetres de trucada:

  • size: Sencer, mida màxima de la memòria cau
  • timeout: Enter, temps de caducitat de l'element, la unitat és ms, si és menor o igual a 0, no caducarà. El valor per defecte és 0.

propietats estàtiques

defaultMaxListeners

Enter, el nombre màxim global predeterminat d'oients

1
static Integer LruCache.defaultMaxListeners;

propietats dels membres

size

Enter, consulteu el nombre de valors del contenidor

1
readonly Integer LruCache.size;

timeout

Enter, consulta i estableix el temps de caducitat dels elements del contenidor, la unitat és ms, si és menor o igual a 0, no caducarà.

1
Integer LruCache.timeout;

onexpire

Esdeveniments de temps d'espera de funció, consulta i vinculació de dades, equivalent a on("expire", func);

1
Function LruCache.onexpire;

funció de membre

clear

Esborra les dades del contenidor

1
LruCache.clear();

has

Comproveu si les dades amb el valor de clau especificat existeixen al contenidor

1
Boolean LruCache.has(String name);

Paràmetres de trucada:

  • name: Cadena, especifica el valor de la clau que cal comprovar

Resultats de retorn:

  • Boolean, retorna si el valor de la clau existeix

get

Consulteu el valor del valor de clau especificat

1
Value LruCache.get(String name);

Paràmetres de trucada:

  • name: Cadena, especifiqueu el valor de la clau que s'ha de consultar

Resultats de retorn:

  • Value, retorna el valor corresponent al valor de la clau, si no existeix, retorna sense definir

Consulteu el valor del valor de clau especificat. Si no existeix o caduca, truqueu a la funció de devolució de trucada per actualitzar les dades.

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

Paràmetres de trucada:

  • name: Cadena, especifiqueu el valor de la clau que s'ha de consultar
  • updater: Funció, especifiqueu la funció d'actualització

Resultats de retorn:

  • Value, retorna el valor corresponent al valor de la clau

set

Estableix una dada de valor de clau. Si el valor de clau no existeix, inseriu-ne una nova.

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

Paràmetres de trucada:

  • name: Cadena, especifiqueu el valor de la clau que s'ha d'establir
  • value: Valor, especifiqueu les dades a establir

Estableix una dada de valor de clau. Si el valor de clau no existeix, inseriu dades noves.

1
LruCache.set(Object map);

Paràmetres de trucada:

  • map: Objecte, especifica el diccionari de dades clau-valor que s'ha d'establir

remove

Suprimeix tots els valors de la clau especificada

1
LruCache.remove(String name);

Paràmetres de trucada:

  • name: Cadena, especifica el valor de la clau que s'ha de suprimir

isEmpty

Comproveu si el contenidor està buit

1
Boolean LruCache.isEmpty();

Resultats de retorn:

  • Boolean, retorna true si no hi ha cap valor al contenidor

on

Enllaceu un controlador d'esdeveniments a l'objecte

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

Paràmetres de trucada:

  • ev: Cadena, especifica el nom de l'esdeveniment
  • func: Funció, especifiqueu la funció de processament d'esdeveniments

Resultats de retorn:

  • Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena

Enllaceu un controlador d'esdeveniments a l'objecte

1
Object LruCache.on(Object map);

Paràmetres de trucada:

  • map: Objecte, especifica la relació de mapatge d'esdeveniments, el nom de l'atribut de l'objecte s'utilitzarà com a nom de l'esdeveniment i el valor de l'atribut s'utilitzarà com a funció de processament d'esdeveniments

Resultats de retorn:

  • Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena

addListener

Enllaceu un controlador d'esdeveniments a l'objecte

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

Paràmetres de trucada:

  • ev: Cadena, especifica el nom de l'esdeveniment
  • func: Funció, especifiqueu la funció de processament d'esdeveniments

Resultats de retorn:

  • Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena

Enllaceu un controlador d'esdeveniments a l'objecte

1
Object LruCache.addListener(Object map);

Paràmetres de trucada:

  • map: Objecte, especifica la relació de mapatge d'esdeveniments, el nom de l'atribut de l'objecte s'utilitzarà com a nom de l'esdeveniment i el valor de l'atribut s'utilitzarà com a funció de processament d'esdeveniments

Resultats de retorn:

  • Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena

prependListener

Enllaceu un controlador d'esdeveniments a l'origen de l'objecte

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

Paràmetres de trucada:

  • ev: Cadena, especifica el nom de l'esdeveniment
  • func: Funció, especifiqueu la funció de processament d'esdeveniments

Resultats de retorn:

  • Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena

Enllaceu un controlador d'esdeveniments a l'origen de l'objecte

1
Object LruCache.prependListener(Object map);

Paràmetres de trucada:

  • map: Objecte, especifica la relació de mapatge d'esdeveniments, el nom de l'atribut de l'objecte s'utilitzarà com a nom de l'esdeveniment i el valor de l'atribut s'utilitzarà com a funció de processament d'esdeveniments

Resultats de retorn:

  • Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena

once

Enllaça un controlador d'esdeveniments únic a l'objecte. El controlador únic només s'activarà una vegada.

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

Paràmetres de trucada:

  • ev: Cadena, especifica el nom de l'esdeveniment
  • func: Funció, especifiqueu la funció de processament d'esdeveniments

Resultats de retorn:

  • Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena

Enllaça un controlador d'esdeveniments únic a l'objecte. El controlador únic només s'activarà una vegada.

1
Object LruCache.once(Object map);

Paràmetres de trucada:

  • map: Objecte, especifica la relació de mapatge d'esdeveniments, el nom de l'atribut de l'objecte s'utilitzarà com a nom de l'esdeveniment i el valor de l'atribut s'utilitzarà com a funció de processament d'esdeveniments

Resultats de retorn:

  • Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena

prependOnceListener

Enllaceu un controlador d'esdeveniments a l'origen de l'objecte

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

Paràmetres de trucada:

  • ev: Cadena, especifica el nom de l'esdeveniment
  • func: Funció, especifiqueu la funció de processament d'esdeveniments

Resultats de retorn:

  • Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena

Enllaceu un controlador d'esdeveniments a l'origen de l'objecte

1
Object LruCache.prependOnceListener(Object map);

Paràmetres de trucada:

  • map: Objecte, especifica la relació de mapatge d'esdeveniments, el nom de l'atribut de l'objecte s'utilitzarà com a nom de l'esdeveniment i el valor de l'atribut s'utilitzarà com a funció de processament d'esdeveniments

Resultats de retorn:

  • Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena

off

Desassignar una funció de la cua de processament d'objectes

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

Paràmetres de trucada:

  • ev: Cadena, especifica el nom de l'esdeveniment
  • func: Funció, especifiqueu la funció de processament d'esdeveniments

Resultats de retorn:

  • Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena

Cancel·la totes les funcions de la cua de processament d'objectes

1
Object LruCache.off(String ev);

Paràmetres de trucada:

  • ev: Cadena, especifica el nom de l'esdeveniment

Resultats de retorn:

  • Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena

Desassignar una funció de la cua de processament d'objectes

1
Object LruCache.off(Object map);

Paràmetres de trucada:

  • map: Objecte, especifica la relació de mapatge d'esdeveniments, el nom de l'atribut de l'objecte s'utilitza com a nom de l'esdeveniment i el valor de l'atribut s'utilitza com a funció de processament d'esdeveniments

Resultats de retorn:

  • Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena

removeListener

Desassignar una funció de la cua de processament d'objectes

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

Paràmetres de trucada:

  • ev: Cadena, especifica el nom de l'esdeveniment
  • func: Funció, especifiqueu la funció de processament d'esdeveniments

Resultats de retorn:

  • Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena

Cancel·la totes les funcions de la cua de processament d'objectes

1
Object LruCache.removeListener(String ev);

Paràmetres de trucada:

  • ev: Cadena, especifica el nom de l'esdeveniment

Resultats de retorn:

  • Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena

Desassignar una funció de la cua de processament d'objectes

1
Object LruCache.removeListener(Object map);

Paràmetres de trucada:

  • map: Objecte, especifica la relació de mapatge d'esdeveniments, el nom de l'atribut de l'objecte s'utilitza com a nom de l'esdeveniment i el valor de l'atribut s'utilitza com a funció de processament d'esdeveniments

Resultats de retorn:

  • Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena

removeAllListeners

Cancel·la tots els oients de tots els esdeveniments de la cua de processament de l'objecte. Si s'especifica un esdeveniment, elimina tots els oients de l'esdeveniment especificat.

1
Object LruCache.removeAllListeners(String ev);

Paràmetres de trucada:

  • ev: Cadena, especifica el nom de l'esdeveniment

Resultats de retorn:

  • Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena

Cancel·la tots els oients de tots els esdeveniments de la cua de processament de l'objecte. Si s'especifica un esdeveniment, elimina tots els oients de l'esdeveniment especificat.

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

Paràmetres de trucada:

  • evs: Matriu, especifiqueu el nom de l'esdeveniment

Resultats de retorn:

  • Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena

setMaxListeners

El límit predeterminat del nombre d'oients, només per compatibilitat

1
LruCache.setMaxListeners(Integer n);

Paràmetres de trucada:

  • n: Enter, especifiqueu el nombre d'esdeveniments

getMaxListeners

Obté el nombre límit predeterminat d'oients, només per compatibilitat

1
Integer LruCache.getMaxListeners();

Resultats de retorn:

  • Integer, retorna la quantitat límit predeterminada

listeners

Consulteu la matriu d'escolta per a l'esdeveniment especificat de l'objecte

1
Array LruCache.listeners(String ev);

Paràmetres de trucada:

  • ev: Cadena, especifica el nom de l'esdeveniment

Resultats de retorn:

  • Array, retorna la matriu d'escolta per a l'esdeveniment especificat

listenerCount

Consulteu el nombre d'oients per a l'esdeveniment especificat de l'objecte

1
Integer LruCache.listenerCount(String ev);

Paràmetres de trucada:

  • ev: Cadena, especifica el nom de l'esdeveniment

Resultats de retorn:

  • Integer, retorna el nombre d'oients per a l'esdeveniment especificat

Consulteu el nombre d'oients per a l'esdeveniment especificat de l'objecte

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

Paràmetres de trucada:

  • o: Valor, especifica l'objecte de la consulta
  • ev: Cadena, especifica el nom de l'esdeveniment

Resultats de retorn:

  • Integer, retorna el nombre d'oients per a l'esdeveniment especificat

eventNames

Consulta el nom de l'esdeveniment de l'oient

1
Array LruCache.eventNames();

Resultats de retorn:

  • Array, retorna una matriu de noms d'esdeveniments

emit

Activa activament un esdeveniment

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

Paràmetres de trucada:

  • ev: cadena, nom de l'esdeveniment
  • args: ..., els paràmetres d'esdeveniment es passaran a la funció de processament d'esdeveniments

Resultats de retorn:

  • Boolean, retorna l'estat de l'activador de l'esdeveniment, retorna true si hi ha un esdeveniment de resposta, en cas contrari retorna false

toString

Retorna la representació de cadena de l'objecte. En general, es retorna "[Objecte natiu]". L'objecte es pot tornar a implementar segons les seves pròpies característiques.

1
String LruCache.toString();

Resultats de retorn:

  • String, retorna la representació de cadena de l'objecte

toJSON

Retorna una representació en format JSON de l'objecte, generalment retornant una col·lecció de propietats llegibles definides per l'objecte.

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

Paràmetres de trucada:

  • key: Corda, no utilitzada

Resultats de retorn:

  • Value, retorna un valor que conté JSON serializable