Atributo :: em cache

Facilmente cache sub-rotinas Resultados usando um atributo: cache
Baixe Agora

Atributo :: em cache Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • Thermeon Europe
  • Site do editor:
  • http://search.cpan.org/~osfameron/

Atributo :: em cache Tag


Atributo :: em cache Descrição

Resultados de sub-rotinas facilmente cache usando um atributo: cache Em muitos aplicativos, incluindo aplicativos da Web, os dados do cache são usados para ajudar a escalar os sites, negociando uma ligeira falta de imediatismo em resultados com uma carga menor em dB e outros recursos.usualmente faremos algo como este sub my_query {my ($ auto,% pars) = @_; # Obtenha um cache meu $ cache = $ auto-> get_cache; # gerar uma chave: por exemplo com% pars (foo => 1), podemos usar # a chave "my_query: foo = 1"; Minha tecla $ Key = $ auto-> get_key (% pars); Meu resultado $; # Verifique se já armazenamos em cache esta chamada e retornamos se sim, se ($ result = $ cache-> get ($ tecla)) {avisar "o acerto de cache por US $ tecla"; Retornar $ Result; } # As próximas linhas são o que esta sub-rotina é / na verdade / fazendo $ Result = $ auto-> caros_operation; # ... Processamento adicional conforme necessário, definir o resultado no cache para acessos futuros $ cache-> Set ($ Key, $ Result, 20); # código duro Um tempo de cache aqui retornar $ result; } A lógica de armazenamento em cache é repetida boilerplate e, pior, não tem nada a ver com o que estamos tentando alcançar aqui. Com o atributo :: em cache, escreveríamos isso como: sub getcache {my $ self = shift; Retornar $ Self-> get_cache (@_)} sub my_query: cache (tempo => 20, key => get_key) {my $ result = $ self-> caros_operation; # ... processamento adicional conforme necessário Retorno $ Result; } Synopsis Sub GetCache {Retornar $ Global_Cache} Sub Foo: Em cache (60) {...} sub-barra: em cache (tempo => 30, key => keygen) {...} # ou fornecer uma subbatia de cache específica: Em cache (tempo => 20, cache => $ cache) {...} Requisitos: · Perl.


Atributo :: em cache Software Relacionado