Obxecto obxecto incorporado

ObjectLruCache

LruCache (caché menos usada recentemente) é unha clase que se usa para manter a caché LRU. Pode almacenar un certo número de valores e manter o tamaño do recipiente. Cando chegan novos datos, se o contedor non alcanzou o límite de tamaño, os novos datos pódense engadir directamente ao contedor. Se o contedor está cheo, o contedor expulsará os datos usados ​​menos recentemente

Podemos usalo das seguintes formas:

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

Entre eles, set() é a interface para establecer pares clave-valor:

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

O parámetro nome especifica o valor clave que se vai definir e o parámetro value especifica o valor que se vai definir.

LruCacheO getmétodo pode actualizar os datos da caché usando unha función de devolución de chamada:

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

Resultados 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

Cando use LruCache específicamente, recoméndase aos desenvolvedores que sigan as seguintes mellores prácticas:

  • Podes usar LruCache para optimizar o rendemento da aplicación usando un punto de tempo específico como punto novo durante o procesamento de datos de fondo e establecendo o tempo de caducidade.
  • Analizar as decisións empresariais baixo os escenarios correspondentes. Por exemplo, as actualizacións de datos máis frecuentes deben configurarse cun tempo de caducidade máis curto, mentres que os datos almacenados en caché que se actualizan con menos frecuencia non precisan establecer un tempo de caducidade demasiado curto.
  • En diferentes escenarios de uso, considere diferentes modos de acceso a datos e use instancias de clase LruCache adecuadas.

relación de herdanza

Construtor

LruCache

Construtor de obxectos LruCache

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

Parámetros de chamada:

  • size: Número enteiro, tamaño máximo da caché
  • timeout: Número enteiro, tempo de caducidade do elemento, a unidade é ms, se é menor ou igual a 0, non caducará. O valor predeterminado é 0.

propiedades estáticas

defaultMaxListeners

Enteiro, o número máximo global predeterminado de oíntes

1
static Integer LruCache.defaultMaxListeners;

propiedades dos membros

size

Enteiro, consulta o número de valores no contedor

1
readonly Integer LruCache.size;

timeout

Enteiro, consulta e establece o tempo de caducidade dos elementos no contedor, a unidade é ms, se é menor ou igual a 0, non caducará.

1
Integer LruCache.timeout;

onexpire

Eventos de tempo de espera de función, consulta e vinculación de datos, equivalentes a on("expire", func);

1
Function LruCache.onexpire;

función de membro

clear

Borrar os datos do contedor

1
LruCache.clear();

has

Comproba se os datos co valor de chave especificado existen no contedor

1
Boolean LruCache.has(String name);

Parámetros de chamada:

  • name: Cadea, especifica o valor da clave que se vai comprobar

Resultados de devolución:

  • Boolean, devolve se o valor da chave existe

get

Consulta o valor do valor da chave especificado

1
Value LruCache.get(String name);

Parámetros de chamada:

  • name: Cadea, especifique o valor da clave que se vai consultar

Resultados de devolución:

  • Value, devolve o valor correspondente ao valor da chave, se non existe, devolve indefinido

Consulta o valor do valor da chave especificado. Se non existe ou caduca, chama á función de devolución de chamada para actualizar os datos.

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

Parámetros de chamada:

  • name: Cadea, especifique o valor da clave que se vai consultar
  • updater: Función, especifique a función de actualización

Resultados de devolución:

  • Value, devolve o valor correspondente ao valor da chave

set

Establece un dato de valor clave. Se o valor de clave non existe, insire un novo dato.

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

Parámetros de chamada:

  • name: Cadea, especifique o valor da clave que se quere establecer
  • value: Valor, especifique os datos a definir

Establece un dato de valor clave. Se o valor de clave non existe, insire novos datos.

1
LruCache.set(Object map);

Parámetros de chamada:

  • map: Obxecto, especifica o dicionario de datos clave-valor que se vai definir

remove

Elimina todos os valores da clave especificada

1
LruCache.remove(String name);

Parámetros de chamada:

  • name: Cadea, especifica o valor da clave que se vai eliminar

isEmpty

Comproba se o recipiente está baleiro

1
Boolean LruCache.isEmpty();

Resultados de devolución:

  • Boolean, devolve verdadeiro se non hai ningún valor no contedor

on

Vincular un controlador de eventos ao obxecto

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

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento
  • func: Función, especifique a función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

Vincular un controlador de eventos ao obxecto

1
Object LruCache.on(Object map);

Parámetros de chamada:

  • map: Obxecto, especifica a relación de asignación de eventos, o nome do atributo do obxecto empregarase como nome do evento e o valor do atributo como función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

addListener

Vincular un controlador de eventos ao obxecto

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

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento
  • func: Función, especifique a función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

Vincular un controlador de eventos ao obxecto

1
Object LruCache.addListener(Object map);

Parámetros de chamada:

  • map: Obxecto, especifica a relación de asignación de eventos, o nome do atributo do obxecto empregarase como nome do evento e o valor do atributo como función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

prependListener

Vincular un controlador de eventos á orixe do obxecto

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

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento
  • func: Función, especifique a función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

Vincular un controlador de eventos á orixe do obxecto

1
Object LruCache.prependListener(Object map);

Parámetros de chamada:

  • map: Obxecto, especifica a relación de asignación de eventos, o nome do atributo do obxecto empregarase como nome do evento e o valor do atributo como función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

once

Vincula un controlador de eventos único ao obxecto. O manejador único só se activará unha vez.

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

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento
  • func: Función, especifique a función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

Vincula un controlador de eventos único ao obxecto. O manejador único só se activará unha vez.

1
Object LruCache.once(Object map);

Parámetros de chamada:

  • map: Obxecto, especifica a relación de asignación de eventos, o nome do atributo do obxecto empregarase como nome do evento e o valor do atributo como función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

prependOnceListener

Vincular un controlador de eventos á orixe do obxecto

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

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento
  • func: Función, especifique a función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

Vincular un controlador de eventos á orixe do obxecto

1
Object LruCache.prependOnceListener(Object map);

Parámetros de chamada:

  • map: Obxecto, especifica a relación de asignación de eventos, o nome do atributo do obxecto empregarase como nome do evento e o valor do atributo como función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

off

Desasignar unha función da cola de procesamento de obxectos

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

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento
  • func: Función, especifique a función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

Cancela todas as funcións da cola de procesamento de obxectos

1
Object LruCache.off(String ev);

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

Desasignar unha función da cola de procesamento de obxectos

1
Object LruCache.off(Object map);

Parámetros de chamada:

  • map: Obxecto, especifica a relación de asignación de eventos, o nome do atributo do obxecto úsase como nome do evento e o valor do atributo úsase como función de procesamento de eventos.

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

removeListener

Desasignar unha función da cola de procesamento de obxectos

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

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento
  • func: Función, especifique a función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

Cancela todas as funcións da cola de procesamento de obxectos

1
Object LruCache.removeListener(String ev);

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

Desasignar unha función da cola de procesamento de obxectos

1
Object LruCache.removeListener(Object map);

Parámetros de chamada:

  • map: Obxecto, especifica a relación de asignación de eventos, o nome do atributo do obxecto úsase como nome do evento e o valor do atributo úsase como función de procesamento de eventos.

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

removeAllListeners

Cancela todos os oíntes de todos os eventos da cola de procesamento do obxecto. Se se especifica un evento, elimina todos os oíntes do evento especificado.

1
Object LruCache.removeAllListeners(String ev);

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

Cancela todos os oíntes de todos os eventos da cola de procesamento do obxecto. Se se especifica un evento, elimina todos os oíntes do evento especificado.

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

Parámetros de chamada:

  • evs: Matriz, especifique o nome do evento

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

setMaxListeners

O límite predeterminado no número de oíntes, só para compatibilidade

1
LruCache.setMaxListeners(Integer n);

Parámetros de chamada:

  • n: Número enteiro, especifique o número de eventos

getMaxListeners

Obtén o número límite predeterminado de oíntes, só para compatibilidade

1
Integer LruCache.getMaxListeners();

Resultados de devolución:

  • Integer, devolve a cantidade límite predeterminada

listeners

Consulta a matriz de escoita para o evento especificado do obxecto

1
Array LruCache.listeners(String ev);

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento

Resultados de devolución:

  • Array, devolve a matriz de escoita para o evento especificado

listenerCount

Consulta o número de oíntes para o evento especificado do obxecto

1
Integer LruCache.listenerCount(String ev);

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento

Resultados de devolución:

  • Integer, devolve o número de oíntes para o evento especificado

Consulta o número de oíntes para o evento especificado do obxecto

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

Parámetros de chamada:

  • o: Valor, especifica o obxecto da consulta
  • ev: Cadea, especifica o nome do evento

Resultados de devolución:

  • Integer, devolve o número de oíntes para o evento especificado

eventNames

Consulta o nome do evento do oínte

1
Array LruCache.eventNames();

Resultados de devolución:

  • Array, devolve unha matriz de nomes de eventos

emit

Activa un evento de forma activa

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

Parámetros de chamada:

  • ev: Cadea, nome do evento
  • args: ..., os parámetros do evento pasaranse á función de procesamento de eventos

Resultados de devolución:

  • Boolean, devolve o estado de activación do evento, devolve verdadeiro se hai un evento de resposta, se non, devolve falso

toString

Devolve a representación en cadea do obxecto. Polo xeral, devólvese "[Obxecto nativo]". O obxecto pódese volver implementar segundo as súas propias características.

1
String LruCache.toString();

Resultados de devolución:

  • String, devolve a representación en cadea do obxecto

toJSON

Devolve unha representación en formato JSON do obxecto, devolvendo xeralmente unha colección de propiedades lexibles definidas polo obxecto.

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

Parámetros de chamada:

  • key: Cadena, non usada

Resultados de devolución:

  • Value, devolve un valor que contén JSON serializable